• 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: What to use observeValueForKeyPath: context
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What to use observeValueForKeyPath: context


  • Subject: Re: What to use observeValueForKeyPath: context
  • From: Jim Correia <email@hidden>
  • Date: Fri, 29 Aug 2008 12:44:22 -0400

On Aug 29, 2008, at 10:56 AM, Dave Dribin wrote:

It seems that KVO best practice is to use the "context" in observeValueForKeyPath:ofObject:change:context: to differentiate between different key paths, rather than check key path strings for equality. Since context is a void *, it also seems best practice to just use some unique pointer values. For example, mmalc's Graphics Bindings sample does this:

static void *PropertyObservationContext = (void *)1091;
static void *GraphicsObservationContext = (void *)1092;
static void *SelectionIndexesObservationContext = (void *)1093;

Your KVO context has to be unique.

If you use 1091, there is no way to guarantee that any of your subclasses or superclasses aren't also using that magic number, so this sets you up for possible failure.

Jim

_______________________________________________

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


References: 
 >What to use observeValueForKeyPath: context (From: Dave Dribin <email@hidden>)

  • Prev by Date: Re: What to use observeValueForKeyPath: context
  • Next by Date: Re: What to use observeValueForKeyPath: context
  • Previous by thread: Re: What to use observeValueForKeyPath: context
  • Next by thread: Re: What to use observeValueForKeyPath: context
  • Index(es):
    • Date
    • Thread