![]() |
|
Question about KVO - Printable Version +- iDevGames Forums (http://www.idevgames.com/forums) +-- Forum: Development Zone (/forum-3.html) +--- Forum: Programming Languages & Scripting (/forum-8.html) +--- Thread: Question about KVO (/thread-9175.html) |
Question about KVO - jotapeh - Jul 16, 2011 09:09 AM Hey guys, first time poster Just wondering - I'm trying to write a pixeling program and learning quite a lot from the Apple Sketch demo code as I go. It has a comment in SKTWindowController.h that says this: Code: This class is KVC and KVO compliant for this key:But I can't find a pair of graphicsController/setGraphicsController functions, or a synthesize declaration, or even an @property or an override of willChangeValueForKey.. nothing. How is this possible? I don't get how you can be KVC and KVO compliant without any of this. ![]() Thanks! RE: Question about KVO - SethWillits - Jul 16, 2011 11:19 AM "If no accessor is found, and the receiver’s class method accessInstanceVariablesDirectly returns YES, the receiver is searched for an instance variable whose name matches the pattern _<key>, _is<Key>, <key>, or is<Key>, in that order." "+ (BOOL)accessInstanceVariablesDirectly Return Value YES if the key-value coding methods should access the corresponding instance variable directly on finding no accessor method for a property, otherwise NO. Discussion The default returns YES." So there you go. But that's a bad practice IMO. If you're publicly exposing it you should be using public setter/getters so that it's obviously bindable. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/SearchImplementation.html RE: Question about KVO - jotapeh - Jul 16, 2011 02:24 PM Ahh thank you. Man that's sneaky! |