我目前正在尝试使用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?
答案 0 :(得分:0)
最简单的方法是使自定义单元格成为NSTextFieldCell的子类。
答案 1 :(得分:0)
要解决此问题,请创建NSTableColumn
的子类并重新实现dataCellForRow:
方法。最后,在您的XIB中,将列类型更改为新的子类类。