SubclassやInstanceはどうなってるのか?

2009/01/23

.nibならぬ.xibを開くとInterfaceBuilderが起動することに前回ふれましたが、開いた.xibの中身を表示するWindowになぜかInstancesタブがありません。

市販されているテキストやビデオではこの部分が一番キモという感じがするのに戸惑ってしまいます。新しいバージョンのInterfaceBuilderではその辺りがどうなっているのかを見てみましょう。

ブルーのキュブがインスタンス化されたオブジェクトです。

前回も紹介したとおり、解説されている内容ではNSObjectからサブクラスを作って、それをインスタンス化するというように解説されています。

具体的にはClassesタブの中でNSObjectを選択して、コントロールを押しながらクリックして出てきたメニューの中からSubclass NSObjectを選択すると言われています。

でも上の画面にあるように、Classesタブがないので困ってしまった訳ですが。

これが意外な方法に変更されています。というか単純明快。NSObjectのインスタンスがいきなりInterfaceBuilderのLibraryの中に、まるでテキストフィールドやボタンと同じような扱いで並んでいます。具体的にはObjects&Controllersの中に例の青いキューブがあります。

感のいい方なら想像つくと思いますが、これを先ほどの.xibのウインドウの中にドラッグして放り込んでやるだけでOKです。非常に感覚的です。

青いキューブができてしまえばWindowで組み立てたソフトウェアの外観とブルーのキューブを線で結んでつないでいくことでプログラミングの準備ができてしまいます。

ただ一つ、これでインスタンス化されたわけではなくて、あとでプログラムを入力していくときに一カ所だけ注意しないとエラーが出てしまうのですが、それはまた後ほど。

オブジェクトとはなんぞや?というところからスタートしたダディーは逆にこんがらがってしまいましたが、プログラミングの敷居を低くしようという試みがされていると思います。

次はアウトレットとアクションの設定について、新しいXcodeで同変化したか紹介します。