我正在使用 KVO 来获取 NSArrayController 的选择索引更改的通知
[contoller addObserver:self forKeyPath:@"selectionIndex" options:NSKeyValueObservingOptionNew context:NULL];
当我使用 setSelectedObjects: 设置选择时,我收到了 SelectionIndex 按照我的预期更改的通知。但是,当我尝试从更改字典中获取 NSKeyValueChangeNewKey 时,它总是返回 NULL。
打印字典显示:
{
种类=1;
新=“”;
}
这是因为选择索引值是 NSInteger 并且不能放入字典中还是我做错了什么?
这对我来说不是一个问题,因为当我收到此通知时,我可以通过其他方式从控制器获取选择索引,我只是想知道为什么它没有按照我的预期进行。
我在 Lion 10.7.3 上使用 Xcode 4.2.1 构建的 10.6 应用程序中看到了这种行为。
通知触发,但更改字典始终为 NULL。
正如您所说,一旦您触发了通知,您就可以手动获取选择索引,所以这对我的应用程序来说不是问题。
我用 Google 搜索了一下,发现这是大约 3 年前的一个已知错误,所以也许现在仍然如此?
http://www.cocoabuilder.com/archive/cocoa/231886-problem-observing-selectionindex-of-an-array-controller.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)