トップページドキュメント > Cocoa Application

バインディングとコネクション

ユーザーインターフェースの作成が終わったら、先ほどXcodeで書いたプログラムとユーザーインターフェースを接続して、アプリケーションとして動くようにします。

まず、ライブラリからnibファイルのドキュメント・ウインドウへObjectをドラッグして配置します。

次に配置したObjectの情報をインスペクタで表示させ、ClassをXcodeで書いたプログラムのクラス名Calculatorに変更します。XcodeとInterfaceBuilderは、それぞれ独立したアプリケーションですが、互いに通信し合いドキュメント内容の同期が取られるようになっています。

クラス名を設定すると、ソースコード上でIBActionとマークしたメソッドが自動的にClass Actionsリストに加わります。


値の同期

準備が整ったところで、テキスト・フィールドの値とCalculatorオブジェクトのプロパティーを関連付けて行きます。まず、左端のテキスト・フィールドを選択して、バインドのインスペクタを開きます。

そこで、Valueをクリックし、Bind to:Calculatorオブジェクトを選択し、Model Key PathCalculatorオブジェクトのプロパティーであるvalue1を記入します。

このようにバインドすることで、テキスト・フィールドの値と、Calculatorオブジェクトのvalue1プロパティーの値が同期を取るようになります。つまり、テキスト・フィールドに書き込んだ値が、自動的にCalculatorオブジェクトのvalue1プロパティーに反映されます。逆に、value1プロパティーの値を書き換えると、それがテキスト・フィールドの値に反映されます。

同じ要領で、中央のテキスト・フィールドとvalue2、右端のテキスト・フィールドとanswerをバインドしましょう。


アクションの送信

加算ボタンのクリックに反応させるために、加算ボタンとCalculatorオブジェクトを接続します。まず、加算ボタンにマウスをもっていき、Controlキーを押しながらCalculatorオブジェクトまでドラッグします。

そこで、マウスを離すとCalculaterオブジェクトが受信可能なアクションのリストが表示されるので、add:メソッドを選択します。

これで、加算ボタンをクリックすると、Calculatorオブジェクトのadd:メソッドが呼ばれるようになりました。このとき、加算ボタンはアクションを送信しており、Calculatorオブジェクトはアクションを受信していることになります。

コネクションのインスペクタで、現在接続されているアクションの状態を確認することができます。また、ここで×マークをクリックすると、接続を解除することができます。


ユーザーインターフェースの作成は以上ですが、ここへきて、ドキュメント・ウインドウになにやら警報のようなものが表示されているかもしれません。

こんなときは、メニューから[Window]→[Document Info]を選択し、Deployment Target:の欄をMacOS X 10.5に変更してください。

Deployment Targetは動作対象のMacOSXのバージョン設置です。初期状態のAll Version Of MacOS Xはつまり、MacOS X 10.0を表しています。今回は、MacOSX10.3以降で利用可能なバインドを使用しているので、それが警報として表示された訳です。この機能を使うと下位互換のあるNibファイルを作ることができますが、その必要がないなら常に最新バージョンに設定すると良いでしょう。

Copyright(C)2001-2010 STRIPE-NET. All Right Reserved.