我有一个 NSArraycontroller,它绑定到我的应用程序的 AppDelegate 的 managedObjectContext。它充当下载队列。项目以编程方式添加到 NSArraycontroller
我有一个表,其中显示了其中的两个字段,每个字段的值单独绑定到所述 NSArraycontroller。当开始新的下载时,它会以编程方式从 NSArraycontroller 中删除。
我添加了一个按钮,用于在开始之前从队列中删除下载,该按钮绑定到 NSArraycontroller 的 remove: 操作,该操作应该删除表中的选定项目。
我的问题是,当单击删除按钮时,所选项目不会从表中删除,它会一直保留在那里,直到单击表中的另一个条目。选择项目所在的行会导致在按住鼠标按钮的同时将其选中,就好像它仍然存在,但没有值一样。
在控制台中单击删除按钮时会出现以下内容:
-[NSCFDictionary _setUnprocessedDeletion__:]: unrecognized selector sent to instance 0x2000f2220
如果我使用它以编程方式从表中删除项目
[[downloadsArray content] removeObjectAtIndex:0];
[downloadsTable reloadData];
[downloadsTable deselectAll:nil];
似乎工作正常,除了我仍然得到可以选择的不可见项目,并且只有在鼠标按钮按下时才保持选中状态。
我已将删除按钮的 enabled 属性绑定到 NSArraycontroller 的 canRemove ,这可以正常工作。
我有一个显示队列中项目数的标签,它绑定到 NSArraycontroller、arrangedObjects、@count。这在添加项目时正常工作,但在删除项目时不能正常工作。
任何关于我做错了什么的想法都将不胜感激。