objective-c - NSTableView,[table selectedCell] 突然给出 nil 值

标签 objective-c macos cocoa

我必须更改一些内容才能破坏项目中的这行代码:

[table selectedCell] //it gives nil value

但是表格行被选中(它突出显示)。 表格是基于单元格的。

可能是什么原因?

更新:我刚刚在文档中看到此方法已在 10.10 中弃用。那么我应该用什么来获取当前选定的单元格呢?

最佳答案

这实际上取决于您想要做什么。 -selectedCell 并非特定于 NSTableView;它继承自 NSControl,对于 TableView 来说并不是特别有用。无法“选择”单个单元格,但可以选择行或列。

但是,单元格可以进行编辑。这就是你想找出的吗?当前正在编辑哪个单元格?如果是这样,您可以使用 -editedRow-editedColumn

否则,您可以获得选定的行/行索引或选定的列/列索引,但行和列选择是互斥的,并且任何一个都会包含多个单元格。由于 NSControl-selectedCell 只能为您提供一个单元格,因此您永远无法在表格 View 上使用该方法真正获得有意义的答案。但当然一次只能编辑一个单元格。

那么您要寻找的是选择还是编辑

关于objective-c - NSTableView,[table selectedCell] 突然给出 nil 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454655/

相关文章:

iphone - 具有自定义 View 的 UIBarButtonItem 在第一次查看后不显示

macos - 如何使用 sed 替换源文件中的版权/许可证 header ?

node.js - 如何在 Mac Pro 上以管理员身份运行终端

objective-c - 基于 View 的 NSOutlineView 并显示标题单元格

cocoa - NSEntityDescription 的名称有问题

iphone - 准确读取iPhone信号强度

iphone - UITabbarController + ABPeoplePickerNavigationController 无法正常工作

ios - 为什么 typedef 是一个 block 而不是使用普通的 block ?

macos - 您可以在 Mac App Store *之外*分发 Safari App Extension 吗?

cocoa - 使用 NSProxy 和forwardInitation :