我对 Xcode 和 Cocoa 开发还很陌生,所以如果我使用了错误的术语,请见谅。
我有一个窗口,它有一个绑定到 NSArrayController 的 NSTableView。NSTableView 有一些预定义的列,并且 NSArrayController 在我的窗口加载时填充了数据。
这一切都很好,但我现在需要在许多其他窗口中重新使用该功能。经过大量阅读,我认为 NSViewController 是我需要的,它提供了一个我可以在多个 .xib 中的不同窗口中重复使用的对象。
所以我所做的是在 Xcode 中创建了一个新的 NSViewController 子类,它还为该控制器创建了一个新的 xib。
xib 包含一个自定义视图,我在其中放置了我的 NSTableView。
@interface KeyViewController : NSViewController
@property (weak) IBOutlet NSTableView *keyTable;
@end
文件所有者类设置为 KeyViewController,视图出口设置为文件所有者。
然后,我将 ViewController 对象放入原始窗口中,并将视图连接到窗口中的新自定义视图
然后我在其属性中设置 ViewController 的笔尖名称。
新视图永远不会显示,视图控制器 initWithNibName 永远不会被调用。
我是错过了重要的事情还是完全错过了情节。您是否可以仅使用界面生成器来执行此操作,还是我需要在代码中分配和初始化视图?
如果我必须在代码中执行此操作,IB 中的 ViewController 对象和它的 Nib Name 属性的目的是什么?
谢谢..