On Jan 3, 2011, at 8:35 PM, John Brownie wrote: > On Tue Jan 04 2011 13:56:58 GMT+1000 (PGT) Matt Neuburg wrote: > >> You don't have a method called setStickyModifiers:, do you? If so, it will >> be called at nib-loading time with the button instance as parameter. When an >> instance variable isn't set to the instance pointed to by the corresponding >> outlet in the nib, this sort of thing is sometimes the cause... m. > > Thanks, that was it! Still wrapping my mind about the automatically generated > names. I had a problem last week by calling a window Inspector, which > apparently caused it to fail to load, as renaming it fixed things. Plenty of > traps for those of us new to Cocoa... >
This is a frequently encountered trap among newbies, though once bitten one tends to remember forever. :) An outlet name is just a string, whereas an object is, uh, a thing. To translate from a string to a thing, Cocoa uses key-value coding. Key-value coding seeks an appropriately named method before it seeks an appropriately named instance variable directly. For a setter, "appropriately named" means the name of the method starts with "set". You might have very good reason to take advantage of this feature - e.g. you might *want* the button handed to setStickyModifiers:, so that you can do something of your own with it. It's just that in this case, you didn't. You wanted it assigned directly to the instance variable. So you mustn't put an appropriately named setting in the way. This particular case follows a predictable rule; the real problem arises when you accidentally use an undocumented already-existing name. I encountered a case like that just a few weeks ago: <http://www.cocoabuilder.com/archive/cocoa/296662-assign-property-behaves-differently-from-simple-instance-variable.html> Your case with Inspector may have been more like that (I'm not sure). m. -- matt neuburg, phd = m...@tidbits.com, http://www.tidbits.com/matt/ pantes anthropoi tou eidenai oregontai phusei Among the 2007 MacTech Top 25, http://tinyurl.com/2rh4pf AppleScript: the Definitive Guide, 2nd edition http://www.tidbits.com/matt/default.html#applescriptthings Take Control of Exploring & Customizing Snow Leopard http://tinyurl.com/kufyy8 RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com