• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!


  • Subject: Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
  • From: Quincey Morris <email@hidden>
  • Date: Tue, 10 Mar 2015 18:25:23 +0000

On Mar 10, 2015, at 10:50 , Sean McBride <email@hidden> wrote:
>
> Can anyone think of a sitation where using removeObserver:forKeyPath: works correctly, then modernizing the code to use removeObserver:forKeyPath:context: breaks things?

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.

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.

So, all this, plus the odd backtrace that *might* indicate that the object controller is duplicating one of your observations, but without a context, and things are falling apart from there.

Unless something easy turns out to have been overlooked, this sounds TSI-worthy.



_______________________________________________

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


  • Follow-Ups:
    • Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
      • From: Sean McBride <email@hidden>
References: 
 >removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?! (From: Sean McBride <email@hidden>)

  • Prev by Date: Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
  • Next by Date: NSButton (radio button) not calling action when overlapped by invisible NSButton?
  • Previous by thread: Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
  • Next by thread: Re: removeObserver:forKeyPath:context: fails; but removeObserver:forKeyPath: works?!
  • Index(es):
    • Date
    • Thread