2011年2月28日月曜日

はじめてのInterface Builder

さて、そろそろiOSアプリケーション開発に関しても書いていきたいと思います。ちなみに、私はMicrosoft VisualStudio(以下、VS)でC++やC#によるフォームアプリケーションの経験がありますので、VSとの違いに関しても書けたらと思います。
はじめてなので、とりあえずはhello world的に画面にボタンを1つ作り、そのボタンを押下するとコンソールに hello worldと表示するアプリケーションを作成したいと思います。

Xcodeを起動します。「ファイル」 - 「新規プロジェクト」でWindow-based Applicationを選択します。


プロジェクト名(例では「WindowBaseSample」としています)を入れて「保存」ボタンを押下します。すると次のような画面が起動します。テンプレートでいくつかのコードは自動生成されています。各ファイルがどういう意味かはここでは触れません、というかまだ私も良くわかっていないw

次にInterface Builder(以下、IB)を起動します。
「Resources」フォルダにある「MainWindow.xib」をダブルクリックします。


すると以下の4つの画面が表示されます。
一番左にある「Attributes」ウィンドウが起動していない場合は、「Tools」-「Inspector」で起動します。


次からが本番です。


1)ボタンの配置

「ライブラリ」ウィンドウにて「Round Rect Button」を「Window」画面の方へドラッグします。配置したボタンをダブルクリックするか、Attributeの「Title」にボタン名を入れます。



2)ボタンに対応するインスタンス変数の追加とイベントハンドラ定義の追加

Xcodeにて「WindowBaseSampleAppDelegate.h」「WindowBaseSampleAppDelegate.m」を編集します。
ヘッダには追加したボタン用のインスタンス変数定義とボタンクリック時に呼び出される用のハンドラメソッドを定義します。このへんでVSと違いますね。VSの場合はデザイナで部品を配置した時点で自動的に変数が作成されますし、イベントハンドラメソッドに対しても特に自分で作成する必要はありません。IBの場合はDelegateの考えなのか分かりませんが、そもそも変数やメソッドを定義するクラス自体が決まっていない。自ら好きなクラスに変数・メソッド定義を行い、それらを部品に割り当てを行うというイメージでしょうか。(間違ってたらすみません、勝手な解釈です)



3)コンポーネントとのリンク

作成したボタンと定義した変数・イベントハンドラメソッドとのリンクを行います。ここからの操作に関しては、はっきり言って度肝抜かれました。VSとはもう全く操作感というか感覚自体が異なります。ドラッグして、リンクをおこないます。ドラッグ先はきちんとドラッグ出来る部分に反応するようですが、このあたりの操作感は慣れないと?だと思います。それぞれ、変数とイベントハンドラメソッドのリンクを実施します。



4)コンパイルと実行

「ビルドと実行」ボタンを押下するとiOSシュミレータが起動します。ボタンを押下する前に、コンソールを起動しておきます。コンソールはXcodeのメニュー「実行」-「コンソール」で起動できます。




取り急ぎ、こんなところで。ちょっと時間がないので、雑な投稿ですが分かりにくいところは許してください。

0 件のコメント :

コメントを投稿