Control - ドラッグして、ココアバインドの確立
ヘッダファイルでの宣言に直接オブジェクトをバインドします。
手順
- Interface Builder で開いているストーリーボードまたは xib ファイルで、アシスタントエディタを表示します。
- アシスタントエディターのジャンプバーで、バインドを行うオブジェクトのヘッダファイルを選択します。
- 新しいバインドのヘッダーファイル内のシンボルに Interface Builder でのオブジェクトから Control - ドラッグします。
- ダイアログで、バインドを構成し、[接続(Connect)] をクリックします。
以下の図は、接続をドラッグして、スライダと ViewController の myValue プロパティとの間のバインドを作成します。
注意: シーンドックは、ターゲットクラスのオブジェクトを含んでいなければなりません。シーンドックにモデルオブジェクトを追加するヘルプについては、シーンドックにオブジェクトの追加 を参照してください。
ソースコードにオブジェクトから Control - ドラッグして、新しいココアバインドが有効である場所を、Interface Builder は示しています。接続を行った後、Xcode はダイアログを表示し、バインドを構成するためにそれを使用します。バインドのすべての側面を構成するために、ダイアログを使用できます。
以下の2つの図は、ViewController の myValue プロパティに、スライダの value プロパティをバインドしている所を示しています。最初の図は、バインドダイアログを示しています。
バインドメニューでは、バインドのための NSSlider のプロパティを構成します。この図では、これは value に設定されています。
バインドが行われた後、myValue の変化は、スライダーの値を変更し、ユーザーインターフェイスでノブを動かします。同様に、スライダーの値の変化は、myValue を変更します。これのすべては、コードを記述せずに行えます。
Interface Builder は、Xcode のインデックスを使用してどのキーパスが有効であり、また、モデルクラスのヘッダ内のプロパティへの表の列のように、ユーザインタフェース要素から接続することができるものに接続する必要がある、どのコントローラを発見できるかを決定します。
バインドは、コーディングがほとんどなしにモデルとビューの間の相互作用を実装できます。それらがどのように動作するかを含むココアバインドの詳細については、ココアバインドプログラミングのトピック を参照してください。
バインドダイアログ
バインドダイアログは、新しいバインディングのすべての属性を構成するために使用されます。以下に示すように、ダイアログには3つの部分があります。
関連記事
シーンドックにオブジェクトの追加
決定済みの議論
ココアバインドプログラミングのトピック