2011年3月21日月曜日

NSToolbar(2)

NSToolbarをつけようとしてあれこれ調べる。

ADCのサンプルやら先達のみなさんのサイトで調べて、

- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted

- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar

- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar


この3つのメソッドをdelegateになるクラスで実装すればいいことがわかった。しかし初心者の悲しいところは、どのクラスをdelegateにすればいいかわかんない、というところ。(^^;)

サンプルコードなんかではDocumentクラスで実装していることが多いけど、どう考えてもそれは「簡便な」方法でしょう、ということで、ここはWindowControllerで実装するのがいいのではないか、と考えた、のだが、実際にWindowControllerに書いていみるとビルドする前から「WindowControllerはdelegateになれないよ」と警告がでる。

うーん、うーん、と唸りながらあちこち調べる。そうすると、どうもクラスのヘッダにというプロトコル宣言(?)を入れればいいらしいことが判明。で、WindowControllerのヘッダに入れたら警告は消えた。うーむ。しかしまだメソッドの中身を何も記述していないのでビルドはできていない。だから実際にWindowControllerがDelegateでいいのかどうかはまだわからない、という。

お休みで時間があったために、プログラミング以外のことをやっている時間が長かったため、今日もこんなところ。

しかしADCのサンプルをたくさん眺めて、NSViewControllerを使って複数のViewを切り替える方法もなんとなくわかってきたからいいとするか。

0 件のコメント:

コメントを投稿