NStableColumn和Cocoa Bindings中的自定义NSCell?

时间:2013-08-26 20:57:15

标签: objective-c macos cocoa-bindings nscell nstablecolumn

我目前正在尝试使用Cocoa Bindings使用Cocoa Bindings填充NSTableView。我遇到了一些使用自定义NSCell子类的列的主要问题。

我的XIB文件包含NStableView和NSArrayController。

在界面生成器中,当您将NSTextFieldCell或NSImageCell设置为列的datacell时,您可以绑定"值"单元格到ArrayController的属性。当您将NSCell设置为NSTableColumn的datacell时,没有" Value" Interface Builder中可用的绑定。因此,您可以推断出绑定应该以编程方式完成。

当您尝试以编程方式绑定"值"属性为" arrangeObjects.property" NSArrayController的一个错误提出:"此类不是键值编码兼容的键值"。实际上,没有"价值"当你调用exposeBindings:方法时暴露的属性,没有"值"属性。

如何优雅地将NSArrayController绑定到具有NSCell自定义子类的NSTableColumn?

2 个答案:

答案 0 :(得分:0)

最简单的方法是使自定义单元格成为NSTextFieldCell的子类。

答案 1 :(得分:0)

要解决此问题,请创建NSTableColumn的子类并重新实现dataCellForRow:方法。最后,在您的XIB中,将列类型更改为新的子类类。