在Mac OS X中有一个对象是Interface Builder中的NSObject
的子类,即我已添加NSObject
实例并将其类设置为{{1} }(这本身就是JDMyClass
)。在IB中,我使用NSController subclass
中的values属性创建了一些界面元素的绑定,例如绑定到JDMyClass
的文本视图。
上述步骤中描述的自定义对象不会收到
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中设置绑定以应用于我的自定义类,而我事先不知道绑定是什么?
谢谢!