1

アプリ設定を作成するときに、すべてのビューを 1 つの XIB に配置して、次のようにする方がよいかどうか疑問に思っていました。

-(id)initWithSelectedToolBarItem: (NSToolBarItem*)toolBarItem{
    self = [self initWithNibName: [[toolBarItem label] stringByReplacingOccurrencesOfString:@" " withString:@""] bundle:nil];
    // init code in initWithNibName...
    if (!self) return nil;
        return self;
}

または、従来のルートに進み、別のペン先などを使用します...?

私が尋ねる理由は、これまでのところプロジェクトが巨大になり (個別のファイルの数のように)、少し削ろうとしているからです。

アドバイスをいただければ幸いです。

事前に乾杯:)

4

1 に答える 1

1

私の環境設定ウィンドウ コードには、環境設定ウィンドウ コントローラーから各インスタンス.xibへのアウトレットを備えた 1 つの中に、あなたのようなツールバーを使用して切り替えられる各ビューがあります 。NSView

@interface PreferenceController : NSWindowController <NSWindowDelegate, NSToolbarDelegate, FontChooserViewDelegate> {
    // Main window
    IBOutlet NSToolbar *_toolbar;
    IBOutlet NSBox *_box;
    IBOutlet NSButton *_restoreDefaultsButton;
    IBOutlet NSView *_generalPrefsView;
    IBOutlet NSView *_boardPrefsView;
    IBOutlet NSView *_movesPrefsView;

    // Other outlets to individual UI elements on some of the views.
}

したがって、「はい」と言うでしょう。そうする必要がありますが、をサブクラス化する必要はないNSViewため、特別な初期化について心配する必要はありません。

編集実際、それは嘘です。ビューの 1 つはサブクラス化されていますが、標準のNSView初期化 (initWithFrameおよびawakeFromNib) を使用しています。

于 2013-10-05T09:31:18.310 に答える