Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
- Subject: Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
- From: Jonathan Mitchell <email@hidden>
- Date: Wed, 11 Mar 2015 21:06:46 +0000
> On 11 Mar 2015, at 18:31, Sean McBride <email@hidden> wrote:
>
> On Tue, 10 Mar 2015 18:25:23 +0000, Quincey Morris said:
>
>> If something else is using a conflicting ‘removeObserver:forKeyPath:’,
>> it might sorta work if all observers use it (because the total number of
>> removals is equal to the number of observations, even if they remove
>> each others’ observations), but fail if some try use
>> ‘removeObserver:forKeyPath:context:’ on an observation that’s already
>> been removed.
>
> It must be something like that. I've gutted my app down to test case size and it still reproduces. :( If you're curious I can put it online.
I recently refactored my app to use removeObserver:forKeyPath:context: rather than removeObserver:forKeyPath and it went without a hitch. What are you using for your context pointers? Mine are always non nil pointers to a static char.
>
>> Also, a long time ago (Leopard-ish), there was a horrible bug where
>> observations of (from?) the same thing could get mixed up so that
>> attempting to remove one would actually remove the other. I doubt this
>> was ever fixed — it was subtle.
>
> The Foundation Release Notes speak of similar things being fixed... but maybe there is another bug...
>
> Cheers,
>
> --
> ____________________________________________________________
> Sean McBride, B. Eng email@hidden
> Rogue Research www.rogue-research.com
> Mac Software Developer Montréal, Québec, Canada
>
> _______________________________________________
>
> 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
_______________________________________________
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