Melhores práticas para o parâmetro de contexto no addObserver (KVO)
Eu queria saber o que você deve definir o ponteiro de contexto no KVO quando você está observando uma propriedade. Estou apenas começando a usar o KVO e não aprovei muito da documentação. Eu vejo nesta página:http://www.jakeri.net/2009/12/custom-callout-bubble-in-mkmapview-final-solution/ o autor faz isso:
[annView addObserver:self
forKeyPath:@"selected"
options:NSKeyValueObservingOptionNew
context:GMAP_ANNOTATION_SELECTED];
E então no retorno de chamada, faz isto:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{
NSString *action = (NSString*)context;
if([action isEqualToString:GMAP_ANNOTATION_SELECTED]){
Estou assumindo neste cenário, o autor apenas cria uma string para ser identificada posteriormente no retorno de chamada.
Então, no livro iOS 5 Empurrando os Limites, vejo que ele faz isso:
[self.target addObserf:self forKeyPath:self.property options:0 context:(__bridge void *)self];
ligue de volta:
if ((__bridge id)context == self) {
}
else {
[super observeValueForKeyPath .......];
}
Eu queria saber se há um padrão ou práticas recomendadas para passar para o ponteiro de contexto?