IB NSController子类绑定

时间:2015-02-24 12:05:23

标签: objective-c cocoa-bindings

在Mac OS X中有一个对象是Interface Builder中的NSObject的子类,即我已添加NSObject实例并将其类设置为{{1} }(这本身就是JDMyClass)。在IB中,我使用NSController subclass中的values属性创建了一些界面元素的绑定,例如绑定到JDMyClass的文本视图。

根据Nib Files documentation

  

上述步骤中描述的自定义对象不会收到values.anyProperty消息。

这意味着我没有机会使用init,这是绑定信息的来源(我认为)。 (该文档指出哪些对象接收initWithCoder:而不是initWithCoder:

后来同样的文件表明:

  
      
  • 绑定
      
        
    • 在OS X中,Cocoa使用源对象的init方法创建它与目标对象之间的连接。
    •   
  •   

我很怀疑,但无论如何都将它添加到我的bind:toObject:withKeyPath:options:,并且断点从未被击中,因此Mac OS X不会尝试从IB重新建立任何绑定。

虽然我可以让我的JDMyClass成为JDMyClass的子类,并将共享用户默认控制器 IB实例设置为我的班级,但我并没有这样做。我真的很想这样做。 工作,即我到NSUserDefaultsController,调用initWithCoder:并设置所有绑定,但它看起来像是一个kludge。

绑定不一定是提前知道的,所以我无法在代码中建立它们。

那么,当我从Nib加载时,如何在Interface Builder中设置绑定以应用于我的自定义类,而我事先不知道绑定是什么?

谢谢!

0 个答案:

没有答案