On Aug 7, 2009, at 12:50 PM, Gabriele de Simone wrote:

It used to be that if you overrode -[NSObject setValue:forUndefinedKey:] your own subclass was responsible for calling -[NSObject will/didChangeValueForKey: so that bindings and observers would work as expected.

That was fine, since it allowed one to provide different implementations depending on the key, and to generate (or not) KVC notifications. It seems that a recent update to Mac OS X (perhaps 10.5.8?) has changed this behavior. It seems that as long as you override setValue:forUndefinedKey:, KVC-compliant notifications are automatically generated for the given key.

Can anyone confirm this? This is an "interesting" change to the Cocoa framework that probably interferes with any class that overrides [NSObject setValue:forUndefinedKey:].


Calling will/didChange should never have been necessary, and in fact, the setter sequence should be automatically wrapped with the calls, as long as automatic notification is on. AFAIK, this has always been the case and hasn't changed recently. There may be more side effects than before, but I don't recall.

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

_______________________________________________

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

Reply via email to