arrays - 如何从 NSArrayController 中删除对象

标签 arrays swift nstableview nsarraycontroller

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

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

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

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

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

removeSelectedObjects 返回 true,但调试 View 显示 ArrayController 中的对象数量没有更改,并且 NSTableView 中也没有更改。

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

您的智慧之言值得赞赏。

吉姆

最佳答案

删除选定对象:

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

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

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

Removes objects from the receiver’s content collection.

func remove(_发件人:有吗?):

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

关于arrays - 如何从 NSArrayController 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44013455/

相关文章:

arrays - 如何求 NSMutableArray 所有元素的总和? swift

ios - SKShapeNode 不绘制 UIBezierPath

macos - 在 Swift 中有条件地在 TableView 中显示 ImageView

objective-c - 表格列上的复选框不会记录点击

javascript - 如何获取 Float64Array 的长度作为值?

javascript - 如何在Javascript中更改数组中字符串的颜色,以便它可以在浏览器上显示

javascript - 在 GAS 中,通过循环读取电子表格中多张数据的 col

swift - 类型的值没有成员 - 在第一个和目标 Controller 中定义

swift - 当我使用 UISwipeGestureRecognizer 时,我得到 Thread 1 :Signal SIGABRT

cocoa - 搜索将 NSArrayController 选择重置为无