On May 11, 2010, at 12:45, Joanna Carter wrote: > Only if you implement the KVO pattern in the setters: > > - (void) setCornerSize:(NSSize) _size > { > [self willChangeValueForKey:@"CornerSize"]; > [[self cell] setCornerSize:_size]; > [self didChangeValueForKey:@"CornerSize"]; > }
Um, not so much. :) In the normal case, setters *should not* call will/didChangeValueForKey, since the entire setter is (invisibly) enclosed in a pair of such calls. It's harmless (AFAIK), because KVO explicitly suppresses the recursion implied by calling them within the setter, but it's absolutely unnecessary. Unless ... If the property is explicitly marked to not generate KVO notifications automatically, you will of course need to call will/didChangeValueForKey manually. See here: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/KeyValueObserving/Concepts/AutoVsManual.html The *only* case of this you'll run into normally is Core Data: all of its properties are not subject to automatic KVO notification triggering. (Whether it's via 'automaticallyNotifiesObserversForKey:' or via some private mechanism is not documented.) _______________________________________________ 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