cocoa - 核心数据、NSTableColumn 绑定(bind)和自定义 NSCell

标签 cocoa core-data cocoa-bindings

我正在尝试使用能够正确绘制托管对象的自定义 NSCellNSTableView 中显示 NSManagedObjects 数组.

就此而言,我的 NSTableView 的单列绑定(bind)到 NSArrayControllerarrangedObjects 。我没有在对象上使用任何关键路径。

我的印象是,当 TableView 想要绘制特定项目时,我的 NSCell 子类会收到 setObjectValue: 消息,但这并没有发生。但这根本行不通,因为 NSManagedObjects 不符合 Copying 协议(protocol)。

我怀疑这是一个常见的任务,并且一定有一些简单的方法来做到这一点,但我现在确实没有看到它。

如有任何见解,我们将不胜感激。

最佳答案

您需要绑定(bind)到绑定(bind)对象的特定属性。如果您确实需要一个单元格来绘制整个值,那么您应该绑定(bind)到 objectID,正如 Martin 建议的那样,但您可以使用 - 而不是在单元格的绘制代码中重新获取tableView:willDisplayCell:forTableColumn:row: 委托(delegate)方法将对象设置为数组 Controller 中单元格的自定义属性的值,从而避免复制和获取。

关于cocoa - 核心数据、NSTableColumn 绑定(bind)和自定义 NSCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1618740/

相关文章:

ios - 魔法记录,保存元素

cocoa - 为什么我的 NSTableView 中的图像淡出?

objective-c - 如何以编程方式知道文件/应用程序是否包含 Mac 上的某些滚轮权限

cocoa - mutableArrayValueForKey 的 KVC 搜索模式是什么?

c++ - 单例实例化两次

iphone - 使用 00 :00:00 as time 获取今天的 NSDate

ios - 核心数据模型,游戏有输有赢,一个玩家有多局?

ios - 使用 ARC 构建 Apple Core Data 教程时出错

objective-c - 通过单击 NSCollectionVIew 项获取模型

objective-c - 带搜索字段的 Cocoa 绑定(bind)可变字典