【问题标题】:Custom NSCell in NStableColumn and Cocoa Bindings?NStableColumn 和 Cocoa 绑定中的自定义 NSCell?
【发布时间】:2013-08-29 11:02:12
【问题描述】:

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

我的 XIB 文件包含一个 NStableView 和一个 NSArrayController。

在接口 Builder 中,当您将 NSTextFieldCell 或 NSImageCell 设置为列的数据单元时,您可以将单元格的“值”属性绑定到 ArrayController。当您将 NSCell 设置为 NSTableColumn 的数据单元时,Interface Builder 中没有可用的“Value”绑定。所以你可以推断出绑定应该以编程方式完成。

当您尝试以编程方式将“value”属性绑定到 NSArrayController 的“arrangedObjects.property”时,会出现错误提示:“此类与键值的键值编码不兼容”。实际上,调用exposeBindings: 方法时没有暴露“值”属性,也没有“值”属性。

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

【问题讨论】:

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


    【解决方案1】:

    最简单的做法是让您的自定义单元格成为 NSTextFieldCell 的子类。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多