如何从NSArrrayController中删除对象

时间:2017-05-17 00:03:07

标签: arrays swift nstableview nsarraycontroller

我有一个绑定到NSTableView的NSArrayController,数据源是一个数组。我似乎无法删除从Array和NSTableView中删除对象。

我可以使用以下命令从NSTableView中删除该对象,但不会从数据源数组或NSArrayController中删除它

projectsTable.removeRows(at: [projectsTable.selectedRow], withAnimation:.effectFade)

我还在NSArrayController上尝试了以下删除命令但没有成功。

let prjremove = projectsArrayControler.selectedObjects
let didRemove =projectsArrayControler.removeSelectedObjects(prjremove!)

removeSelectedObjects返回true,但是调试视图显示ArrayController中的对象数量没有改变,并且NSTableView没有变化。

我的假设是从NSTableView中删除对象或行会从数据源Array中删除该对象。显然这是不正确的。

感谢你的智慧之言。

吉姆

1 个答案:

答案 0 :(得分:0)

removeSelectedObjects

  

从接收者的当前选择中移除对象,如果选择被更改则返回YES。

“从接收者的当前选择中删除对象”表示取消选择对象。

使用func remove(contentsOf objects: [Any])

  

从接收者的内容集合中删除对象。

func remove(_ sender: Any?)

  

从内容集合中删除接收者的选定对象。