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]

Reply via email to