子类NSView而不是NSTableCellView

时间:2015-04-07 09:07:57

标签: macos cocoa nstableview

此问题是this问题的扩展。

我正在使用Cocoa App,我使用Cocoa Bindings填充表格。

我正在继承NSView而不是NSTableCellView

根据NSTableCellView Class Referenence

  

如果您使用不基于的自定义视图单元格   NSTableCellView你应该实现这个属性(objectValue)才能够   接收单元格值的更改。

另外

  

迅速
   var objectValue:AnyObject?
  使用绑定时,objectValue由表自动设置,或者是... ...


这是我的类实现,我将在TableView

中用作单元格
class TestView : NSView {
    var objectValue: AnyObject?

    init(nameA: String, nameB: String) {
        super.init(frame: NSMakeRect(3, 3, 300, 40))

        objectValue = nameA
        let firstName = MyTextField(location: NSMakePoint(10, 10), stringVal: nameA)
        self.addSubview(firstName)

        let secondName = MyTextField(location: NSMakePoint(250, 10), stringVal: nameB)
        self.addSubview(secondName)
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
}

虽然在TestClass中声明了objectValue,但我仍然无法从IB绑定对象值

1 个答案:

答案 0 :(得分:2)

自定义视图和对象在IB中不会获得自定义属性绑定。你必须在代码中设置绑定。

您还需要确保您的课程能够完成启用绑定所需的所有有趣内容。