私は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プロパティの目的は何ですか?
ありがとう..