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];
I think that the most accurate description would be "a self-referential pointer".