删除阵列控制器观察程序


不会

删除为阵列控制器添加的观察器。添加代码:

[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正在被调用。我在这里做错了什么?

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

相关内容

最新更新