On Apr 17, 2008, at 10:31, mmalc crawford wrote:

On Apr 17, 2008, at 9:36 AM, Quincey Morris wrote:
Just so I understand, should I surround calls to any of the standard KVC method calls (in my case, insertObject:atIndex:) with [self willChangeValueForKey:@"affectedKey"]; and [self didChangeValueForKey:@"affectedKey"] if the standard KVC call will affect that derived property? This is probably described in the KVO documentation, I'll read up on it to make sure. Thanks for the quick fix.

Well, the answer is a qualified "yes".

No, the answer to the question as posed is "no" (subsequent "*But*"s in the answer notwithstanding). If you want to emit KVO notifications for collection mutations, you should use the appropriate collection mutation call -- you don't advertise that the whole collection has changed.

My answer was: "Yes, unless there's a better way to do it."
Your answer is: "No, not if there's a better way to do it."

Unless I'm missing something, the glass is half full even when it's half empty.

Incidentally, in the OP's question, the dependent property was a collection, but advertising that the whole collection had changed was likely the appropriate action in *this* (slightly unusual) case.


*But* automatic dependencies do not work for properties of core data managed objects. :)

This is again at best misleading -- see <http://developer.apple.com/documentation/Cocoa/Conceptual/CoreData/Articles/cdFAQ.html#//apple_ref/doc/uid/TP40001802-SW3 > for a complete discussion.

No, my statement was not misleading at all. It was wrong. Trying to document that there were various qualifications to the "yes", I misspoke on this one.


_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to