我想知道当你观察一个属性时,你应该在KVO中设置上下文指针。 我刚刚开始使用KVO,而且我没有从文档中收集太多内容。 我在这个页面上看到: http : //www.jakeri.net/2009/12/custom-callout-bubble-in-mkmapview-final-solution/作者这样做: [annView addObserver:self forKeyPath:@"selected" options:NSKeyValueObservingOptionNew context:GMAP_ANNOTATION_SELECTED]; 然后在callback中,这是否: – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ NSString *action = (NSString*)context; if([action isEqualToString:GMAP_ANNOTATION_SELECTED]){ 我假设在这种情况下,作者只是在callback中创build一个string来识别。 然后在iOS 5推动极限书,我看到他这样做: [self.target addObserf:self forKeyPath:self.property options:0 context:(__bridge void *)self]; 回电话: if ((__bridge id)context == self) { } else { [super observeValueForKeyPath …….]; } 我想知道是否有一个标准或最佳做法传递到上下文指针? 谢谢!