swift - 如何删除 NSTableView 中的一行(Swift)

标签 swift xcode macos nstableview

我已经能够将字符串/数据添加到从 secondViewController 到 firstViewController 的表中,但现在我希望用户也能够删除行。 我将如何删除该行?

更新:这里有更多细节: 这是我用来在 1stVC 中创建表的代码。

func numberOfRows(in tableView: NSTableView) -> Int {
    return arrayData.count
}

func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
    return arrayData[row]
}

我还设置了一个数组,它通过委托(delegate)从 2ndVC 获取数据。来自 2ndVC 的值存储在 1stVC 中名为“data”的变量中,然后添加到数组中,如下所示:

arrayData.append(data!)

现在我想放一个删除按钮,它可以删除行/插入的数据。

谢谢!

最佳答案

通常的做法是从数据源数组中移除object,然后在table view上调用removeRowsAtIndexPaths:withAnimation:

if let index = arrayData.index(of: object) {
    arrayData.remove(at: index)
    let indexSet = IndexSet(integer:index)
    tableView.removeRows(at:indexSet, withAnimation:.effectFade)
}

关于swift - 如何删除 NSTableView 中的一行(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451364/

相关文章:

macos - cocoa 的僵尸事件

windows - 本地安装的 Helvetica Neue 在 Windows 浏览器中的显示效果与 Mac OS X 上的不同。为什么?

ios - 更改UIDocumentBrowserViewController创建文档按钮文本

ios - 在 Swift 3 中使用 Stream 打开与 SMTP 服务器的套接字连接

c++ - 您无权写入文件 “ostream” 所在的文件夹

ios - 由于信号 : Segmentation fault: 11 when Compiling Swift Project,命令失败

SwiftUI - 选择器未选择值

ios - 带有数组错误的 Swift NSCountedSet 初始化?

iphone - 在 ios 应用程序上安装 RestKit.FrameWork 缺少 libRestKit.a 文件,它是 RedColor?

macos - 使用 Swift 中的 FourCharCode/SecItemAtr 常量