Re: The KVO Race
Re: The KVO Race
- Subject: Re: The KVO Race
- From: Gordon Apple <email@hidden>
- Date: Tue, 03 Jun 2008 16:29:38 -0500
OK, if I understand the documentation correctly, the first suggestion
might work. Thanks.
I don't think the second one is applicable here. (I have used that
successfully within one class.)
Yes, the observed editLayer in displayController was being observed by
the displayEditcontroller. The NSIndexSet was being observed by the
displayController. These had to be set in their respective "awakeFromNib"
because the connections had to be in place to get access to the document to
ger the NSIndexSet (i.e., the path through the data hierarchy to get to the
Shot and Layer).
>> I have traced the problem to KVO race conditions.
>
> In most cases these can be solved by setting up the key dependencies
> and occasionally by using the NSKeyValueObservingOptionInitial
> (Leopard only) option.
>
> From your summary, I'm assuming that the editLayer property is
> dependent on the NSIndexPath that you're also observing.
>
> So, if you're targeting 10.4 you can use the
> +setKeys:triggerChangeNotificationsForDependentKey: method in your
> controller's +initialize method to set the dependencies. This method
> is deprecated in Leopard in favor of the
> +keyPathsForValuesAffectingValueForKey: method. Look them up in the
> documentation for how to use them.
>
> Keith
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden