1

我对 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 属性的目的是什么?

谢谢..

4

0 回答 0