删除Array Controller观察者

时间:2013-12-28 16:25:52

标签: objective-c macos cocoa

未删除为阵列控制器添加的Observer。 添加代码:

[self.arrayController addObserver:self
                       forKeyPath:@"selectionIndexes"
                          options:NSKeyValueObservingOptionNew
                          context:nil];

删除观察者的代码:

@try {
    //[self removeObserver:self forKeyPath:@"selectionIndexes"];
    [self.arrayController removeObserver:self forKeyPath:@"selectionIndexes"];
}
@catch (NSException *exception) {}

即使删除了观察者,它也无效,并且observeValueForKeyPath被调用。我在这做错了什么?

1 个答案:

答案 0 :(得分:0)

您可能已添加多个观察者。 尝试在addObserver:forKeyPath:options:context line设置断点,看看它是否被调用多于removeObserver:forKeyPath行。