Cocoa:从NSArrayController中删除Item

Tal*_*ode 3 cocoa binding nsarraycontroller

我有一个绑定到NSTableView的NSArrayController.有了这个,我有典型的添加/删除按钮.

虽然添加项目非常简单(我调用一个方法,创建一个具有默认值的对象并添加它)我在从控制器中删除对象时遇到问题.我知道当使用ArrayController中的remove动作连接按钮时,我可以轻松地执行此操作.但这不是我想要的.我需要手动删除对象,因为我有一些额外的代码要处理.

然而,删除对象似乎远比我预期的要复杂得多.它已经尝试过:

NSArray *items =  [doToItemsArrayController selectedObjects];
[doToItemsArrayController removeSelectedObjects:items]; 
Run Code Online (Sandbox Code Playgroud)

要么

NSIndexSet *iSet = [doToItemsArrayController selectionIndexes];
[doToItemsArrayController removeSelectionIndexes:iSet];
Run Code Online (Sandbox Code Playgroud)

他们似乎都没有工作.如何使用Objective-C代码从NSArrayController中删除所选对象?

Dav*_*vid 7

您可以使用任何这些方法删除对象.他们独立于选择.

– removeObjectAtArrangedObjectIndex:
– removeObjectsAtArrangedObjectIndexes:
– remove:
– removeObject:
– removeObjects:
Run Code Online (Sandbox Code Playgroud)

如果要从内容数组中删除所选对象,则可以使用以下方法获取所选对象,然后将其插入上述方法之一.

– selectionIndex
– selectionIndexes
Run Code Online (Sandbox Code Playgroud)