如何从 NSArrayController 中删除对象

How to remove objects from NSArrrayController

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

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

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

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

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

removeSelectedObjects returns 正确,但调试视图显示 ArrayController 中的对象数量没有改变,NSTableView 中也没有改变。

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

感谢您的智慧之言。

吉姆

removeSelectedObjects:

Removes objects from the receiver’s current selection, returning YES if the selection was changed.

"Removes objects from the receiver’s current selection"表示对象被取消选择。

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

Removes objects from the receiver’s content collection.

func remove(_ sender: Any?):

Removes the receiver’s selected objects from the content collection.