Hi Tom, I can't seem to understand what is wrong, I guess, since you said everything else works, that you did call the necessary `framework "Foundation"`? Could you maybe provide us some test project, so that we can reproduce and maybe trace the error better? :-)
Thank you! -- Thibault Martin-Lagardette On Nov 26, 2010, at 07:07, Tom Jordan wrote: > Hello, > > I'm encountering some weird behavior when trying to update a view using > windowControllerDidLoadNib after loading in a persistent document. > When I provide windowControllerDidLoadNib a single argument, as shown below > (and required by the NSDocument class definition and in every example I've > seen), > Xcode says: `windowControllerDidLoadNib:': wrong number of arguments (1 for > 0) (ArgumentError) > If I don't provide any argument, it says: undefined method > `windowControllerDidLoadNib' for #<MyDocument:0x200646660> (NoMethodError) > I've tried every combination of one or no args for both the method signature > and "super" call on the next line, and I can't seem to get any different > results. > This is my first time trying to get persistence going, but I've read a lot > about it, and everything else is working well.. it saves and loads, but I > can't seem to get this hook > working to update the GUI upon loading. > > > class MyDocument < NSDocument > > attr_accessor :loadedmodel, :root #outlet to model field of controller > > # Name of nib containing document window > def windowNibName > 'MyDocument' > end > > # Document data representation for saving (return NSData) > def dataOfType(type, error:outError) > outError.assign(NSError.errorWithDomain(NSOSStatusErrorDomain, > code:-4, userInfo:nil)) > NSKeyedArchiver.archivedDataWithRootObject(@root.model) > end > > # Read document from data (return non-nil on success) > def readFromData(data, ofType:type, error:outError) > outError.assign(NSError.errorWithDomain(NSOSStatusErrorDomain, > code:-4, userInfo:nil)) > @loadedmodel = NSKeyedUnarchiver.unarchiveObjectWithData(data) > end > > # Return lowercase 'untitled', to comply with HIG > def displayName > fileURL ? super : super.sub(/^[[:upper:]]/) {|s| s.downcase} > end > > def windowControllerDidLoadNib(aController) > super(aController) > @root.model = @loadedmodel > NSLog("model loaded") > end > > end > > Regards, > > Tom Jordan > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel