On Aug 11, 2011, at 9:27 PM, William Squires wrote: > On Aug 11, 2011, at 6:51 PM, Kyle Sluder wrote: > >> On Thu, Aug 11, 2011 at 4:26 PM, Jens Alfke <[email protected]> wrote: >>> >>> On Aug 11, 2011, at 4:10 PM, Luther Baker wrote: >>> >>>> static void *AVPlayerDemoPlaybackViewControllerRateObservationContext = & >>>> AVPlayerDemoPlaybackViewControllerRateObservationContext; >>> >>> It’s initializing the variable to point to itself. Which seems sort of >>> pointless, but I don’t know the context. >> >> It's a quick way to initialize a unique pointer when you don't care >> about the value. >> > > Of course, if you don't care about the value, why would you need a unique > one? :)
Read up about KVO. Due to what is arguably a design bug, the context parameter can't really be used to carry arbitrary, client-defined data. It has to be used to distinguish between a class's own observation registrations and those of any of its super- or sub-classes. For that, one needs a globally unique value. The convention is to use this technique to create a pointer that will be unique for anybody else using this same technique (or using a valid pointer from any other source). Regards, Ken _______________________________________________ Cocoa-dev mailing list ([email protected]) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
