Best Practices für Kontextparameter in addObserver (KVO)

Ich fragte mich, was Sie den Kontextzeiger in KVO setzen sollten, wenn Sie eine Eigenschaft beobachten. Ich fange gerade an, KVO zu verwenden, und habe nicht zu viel aus der Dokumentation gelernt. Ich sehe auf dieser Seite:http://www.jakeri.net/2009/12/custom-callout-bubble-in-mkmapview-final-solution/ Der Autor macht das:

[annView addObserver:self
forKeyPath:@"selected"
options:NSKeyValueObservingOptionNew
context:GMAP_ANNOTATION_SELECTED];

Und dann im Rückruf:

- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{

NSString *action = (NSString*)context;


if([action isEqualToString:GMAP_ANNOTATION_SELECTED]){

Ich gehe davon aus, dass der Autor in diesem Szenario nur eine Zeichenfolge erstellt, die später im Rückruf identifiziert wird.

Dann sehe ich in iOS 5 Pushing the Limits, dass er dies tut:

[self.target addObserf:self forKeyPath:self.property options:0 context:(__bridge void *)self];

Ruf zurück:

if ((__bridge id)context == self) {
}
else {
   [super observeValueForKeyPath .......];
}

Ich habe mich gefragt, ob es einen Standard oder bewährte Methoden gibt, die an den Kontextzeiger übergeben werden können.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage