On Sep 16, 2015, at 11:45 , Ken Thomases <k...@codeweavers.com> wrote:
> 
> This is not legitimate.  The -willChangeValueForKey: must occur before the 
> property, as seen via its getter, has changed.  This is necessary for 
> observers who ask for the old value, which can include KVO itself for key 
> paths which go through the property.

I’m not sure that it’s illegitimate by API contract. In addition, we know that 
certain Cocoa mechanisms using KVO (such as observations created via 
keyPathsForValuesAffecting<Key>) don’t ever provide an old value at all.

But I agree that this all (meaning the contortions to get updates onto the main 
thread) seems like too much flash and not enough bang. The easiest way would be 
to dispatch the original update code in blocks onto the main thread 
asynchronously, thus serializing them and generating KVO notifications safely. 

When I think about it in those terms, it’s clear (to me, at least) that the 
*real* problem is one of coalescing a potentially large number of updates over 
time. In other words, this thread is really about premature optimization and 
its ugly consequences.

FWIW.



_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to