2013-10-01 41 views
1

我只是想知道如果當我創建我的應用程序首選項,如果是更好的進行控制,讓所有的意見,一個XIB和有:可可應用程序首選項(?查看在一個XIB)

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

或者只是去傳統的路線,並有單獨的筆尖等...?

我之所以問,是因爲到目前爲止項目變得越來越龐大(如單獨文件數量),我正試圖將其削減一點。

任何意見將非常感激!

乾杯預先:)

回答

1

我的偏好窗口代碼有每個視圖,它使用的是像您的工具欄具有出口從偏好窗控制器切換,在一個單一的.xib到每個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,因此不需要擔心特殊的初始化。

編輯其實這是一個謊言;其中一個視圖被分類,但使用標準NSView初始化(initWithFrameawakeFromNib)。

+0

謝謝:)我最終做的是寫一個NSViewController的協議子類。這是相當多的工作,但現在我已經山羊可重用模塊,我可以放在原地:)謝謝或提示:) –

+0

@AdrianSluyters啊好吧,但爲什麼'NSViewController'? – trojanfoe

+0

我最後提到的代碼是這樣的:https://github.com/heardrwt/RHPreferences 寫得不錯,而且印象非常深刻。對於我所需要的,這有點OTT,但它幾乎可以一舉解答我的所有問題:)希望它也能幫助其他人! –

相關問題