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

Reply via email to