如何从 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.
我有一个绑定到 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.