Najlepsze praktyki dotyczące parametru kontekstu w addObserver (KVO)
Zastanawiałem się, co powinieneś ustawić wskaźnik kontekstu w KVO, gdy obserwujesz nieruchomość. Właśnie zaczynam używać KVO i nie zebrałem zbyt wiele z dokumentacji. Widzę na tej stronie:http://www.jakeri.net/2009/12/custom-callout-bubble-in-mkmapview-final-solution/ autor robi to:
[annView addObserver:self
forKeyPath:@"selected"
options:NSKeyValueObservingOptionNew
context:GMAP_ANNOTATION_SELECTED];
A potem w wywołaniu zwrotnym robi to:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{
NSString *action = (NSString*)context;
if([action isEqualToString:GMAP_ANNOTATION_SELECTED]){
Zakładam, że w tym scenariuszu autor po prostu tworzy ciąg znaków, który zostanie zidentyfikowany później w wywołaniu zwrotnym.
Następnie w książce iOS 5 Pushing the Limits widzę, że to robi:
[self.target addObserf:self forKeyPath:self.property options:0 context:(__bridge void *)self];
oddzwonić:
if ((__bridge id)context == self) {
}
else {
[super observeValueForKeyPath .......];
}
Zastanawiałem się, czy istnieje standard lub najlepsze praktyki do przekazania do wskaźnika kontekstu?