I spotted this construct in some of Apple\'s example code for dealing with key-value observing. When adding an observer, you can add a context (in the form of a void* variable)
I think this is overly complicated and confusing. When you want to have a unique context for KVO just declare it and use a pointer to it:
static int kMyObjectPropertyObservationContext; ... [object addObserver:self forKeyPath:@"myProperty" options:0 context:&kMyObjectPropertyObservationContext];