[メモ] XcodeでPreference Paneのテンプレートを使用する際の注意

Xcode4.1/4.2を使ってPreference Paneを書こうとしたが,どうもうまくいかない。テンプレートを使用して環境を作成。チュートリアルに従って,ヘッダファイルにアウトレットを追加しようとしてもなぜかうまくいかない。Interface Builderで追加したオブジェクト(ボタンやチェックボックス)からCtrlドラッグ*1でヘッダファイルに落とせば追加されるとのことなのだが,できない。

ちなみに,Apple DeveloperにあるPreference Paneのサンプルコードや普通のCocoaアプリのテンプレートなら,Ctrlドラッグでアウトレットを追加できる。

チュートリアルをよく読んでみると,nibファイルをヘッダファイルを結びつけろと書いてある。しかし,チュートリアルは古いので,Xcode4系ではやり方がわからない。

で,適当にXcodeを動かしていたら,nibファイルのFile's Ownerが作成したクラスではなく,そのクラスのスーパークラスであるNSPreferencePaneと結びつけられているっぽいことに気付いた。具体的には,nibファイルを選択し,File's Owner(水色の立方体)をクリック。右の方にあるAttribute View的なところの"Show the Identify inspector"という吹き出しが出る所を選択。そこにある"Custom Class"というところの"Class"がNSPreferencePaneとなっている。

そこを作成したクラスに変えたら,Ctrlドラッグでアウトレットを追加できるようになった。

用語は適当なので悪しからず。

*1:Ctrlキーを押しながらドラッグ