日々精進

新しく学んだことを書き留めていきます

カスタムviewやwindowクラスのインスタンスをXIBから作る

OSXアプリの場合、以下のようにすればXIBからインスタンスが作れる。

- (id)init {
    NSWindowController *windowController = [[NSWindowController alloc] initWithWindowNibName:@"RateListWindow"];
    self = windowController.window;
    if (self) {
        ・・・
    }
    return self;
}

viewの場合はNSViewControllerを使って同じように書けばいい。
ただ、この方法だとXIBに以下の設定をしないといけない。
・File's OwnerをNSViewControllerにする
・File's OwnerのviewをXIBの一番上の階層のViewにOutlet接続する
・XIBの一番上の階層のViewのクラスをカスタムViewクラスにする


1番目と2番目を忘れることがちょくちょくあって困る。
もっといい方法はないんだろうか。。