バインディング
バインディング(場合によっては Cocoa バインディングとも呼ばれる)を使用すると、簡単にビュー内のデータの項目とそのプレゼンテーションの間の接続を確立することができる、一連のテクノロジーです。データの値にビューやデータを格納するオブジェクトのいずれかで加えられた変更は、自動的に接続を介して伝達されます。 Cocoa バインディングは、開発者がかつて、アプリケーションのビューとモデル層の間の通信を可能にするために書かなければならなかったグルーコードを減らすことができます。また、Interface Builder のアプリケーションを使用すると、すぐにアプリケーションのオブジェクト間のバインディングを確立できます。
Cocoa バインディングは、モデル - ビュー - コントローラ、オブジェクト・モデリング、およびメディエータ・デザイン・パターンに基づいています。具体的には、バインディングはビュー・オブジェクトの 属性を「結合(バインド)」し、仲介コントローラオブジェクトを通じて、属性またはプロパティのどちらかの変更でも自動的に他方に反映されるように、モデル・プロジェクトのプロパティへと結合する。
いくつかの技術は、Cocoa バインディングを有効にする
Cocoa バインディング機能では、オブジェクトが、MVC の境界を越えて、その値を同期する方法を指定するために協力する、いくつかの技術に依存しています。
- キーと値結合(KVB)。このプロトコルは、オブジェクト間でバインディングを確立・削除したり、それを公開するバインディングを示す事をクラスに可能にします。オブジェクトは、それが結合しておりそれらの変化に反応するオブジェクト内の関連する変化を監視しなければなりません。
- キーと値コーディング(KVC)。このプロトコルを使用すると、プロパティの値をキーとして、プロパティの名前を使用してオブジェクトのプロパティにアクセスする方法を指定します。また、オブジェクト間の関係に従うように、キーのパスを使用することができます。
- キーと値を観察(KVO)。このプロトコルは、あるオブジェクトが指定したプロパティの値に変更を通知する別のオブジェクトに登録できるようなメカニズムを定義します。
コントローラオブジェクトは、バインディングを確立するためのヘルプ
モデル・ビュー・コントローラ・デザインパターンにおいて、コントローラオブジェクトは、データ(ビュー層)の表示と、格納されたデータ(モデル層)の変化を同期し、格納されたデータの変化を、そのデータの表示をするビューと通信します。このようにして、コントローラオブジェクトは、仲介者として機能します。
AppKit には、アプリケーション内のバインディングを確立するために変更しないで使用できるコントローラオブジェクトの4種類が用意されています。これらのコントローラオブジェクトは、(抽象 NSController クラスから継承する各々の) Interface Builder のオブジェクトライブラリで利用できます。
- NSObjectController は、単一のモデルオブジェクトを管理します。
- NSArrayController は、モデルオブジェクトのインデックスベースのコレクションを管理し、現在の選択を追跡します。
- NSTreeController は、モデルオブジェクトの階層コレクションを管理し、現在の選択を追跡します。
- NSUserDefaultsController は(つまり、ユーザーのデフォルトである) 環境設定システムへの便利なインターフェースを提供します。
- アニメーション コア・アニメーションは力を与える
- アプリケーションオブジェクト アプリ Object は外部 delegate に通知
- バインディング 技術が Cocoa Bindings を有効に
- コントロールオブジェクト UIKitでActMessageがEventを決定
- 座標系 座標系は異なる描画方向を持てる
- ドローイングモデル ビューは自分自身を描画
- フォーマッタ フォーマッタの設定と適用
- ユーザーイベント(OS X)
- キー値監視
- メインイベントループ アプリケーションオブジェクト取得
- アウトレット
- ペーストボード ペーストボードは多くの項目を保持
- 環境設定 ユーザー設定はドメインに属する
- レスポンダ・オブジェクト ファーストレスポンダは最初に受信
- ターゲットアクション アクションメソッドは特定の形式
- アンドゥ・マネージャー アンドゥの操作はオブジェクトに
- ビュー階層 ビュープロパティは、階層の関係定義
- ウインドウ・オブジェクト ウインドウがイベント配布
技術的には、バインディングを確立するためには、NSController オブジェクトは必要ありません。バインディングは、2つのオブジェクト間で行われ、KVO と KVC に従う間に作られる。でも、NSController オブジェクトを使用していない場合は、あなたはそれらが、つまり、プレースホルダと現在選択した値と保留中の変更を任せ、廃棄する能力を、あなたは失うだろう。
バインディングを確立するには、Interface Builderを使用して
開発中にバインディングを確立するために不可欠である別の技術は、Interface Builder アプリケーションです。アプリケーションのインスペクタウインドウのバインドビューでは、オブジェクトと、それぞれのバインドに関与するプロパティを指定することができます。
アプリケーションを開発するときには、最初に nib ファイルにライブラリから NSController オブジェクトをドラッグします。次に、バインディング·ビューで、コントローラのプロパティにモデルプロパティをバインドします。次に、nib ファイル内のビューを選択し、コントローラのプロパティを通じてモデルプロパティをビュー(例えばデータ)の適切な属性にバインドします。
前提条件の記事
関連記事
既知のディスカッション
Cocoa バインディングプログラミングトピック
サンプルコードプロジェクト
バインディング:Joystick
簡単なバインディングの採用
目次
Xcode の新機能
アニメーション必要条件
暗黙・明示にアニメーション
Platform 毎の Core Animation 統合
アプリはアプリオブジェクト持つ
Controller Object で binding確立
binding の確立はInterface Builder
AppKitでControlは複数のセルを持つ
ウインドウとビューは独自座標系
グラフィックコンテクスト
描画はビューローカル座標系で
文書体系
文書は名前で識別されるデータのコンテナ
文書基本アプリ内のオブジェクトは階層関係持つ
文書体系は自動化アプリモデルをサポート
OSXでセルにフォーマッタを添付
イベント配信
イベント処理
KVO はバインディングに不可欠(OS X)
コアオブジェクトはイベントに応答
ペーストボードの持続性
アプリは環境設定の選択を提示
ユーザーデフォルト設定で OS X
レスポンダチェーンと協調イベント
ツールの使用でターゲット設定
ターゲットアクションと OS
アンドゥ操作はスタックに
操作はアンドゥグループに合体
アンドゥを要求する方法
アンドゥマネージャとレスポンダ
アンドゥを要求ユーザーインタフェース
iOS ではウィンドウはビューです
ビュー・オブジェクト
ビューのの中核プロパティ
ビューはアニメーションの本質
OS X のウィンドウオブジェクト
iOS のウィンドウオブジェクト
トップへ
開発中にバインディングを確立するために不可欠である別の技術は、Interface Builder アプリケーションです。アプリケーションのインスペクタウインドウのバインドビューでは、オブジェクトと、それぞれのバインドに関与するプロパティを指定することができます。
アプリケーションを開発するときには、最初に nib ファイルにライブラリから NSController オブジェクトをドラッグします。次に、バインディング·ビューで、コントローラのプロパティにモデルプロパティをバインドします。次に、nib ファイル内のビューを選択し、コントローラのプロパティを通じてモデルプロパティをビュー(例えばデータ)の適切な属性にバインドします。
前提条件の記事
関連記事
既知のディスカッション
Cocoa バインディングプログラミングトピック
サンプルコードプロジェクト
バインディング:Joystick
簡単なバインディングの採用
Xcode の新機能
アニメーション必要条件
暗黙・明示にアニメーション
Platform 毎の Core Animation 統合
アプリはアプリオブジェクト持つ
Controller Object で binding確立
binding の確立はInterface Builder
AppKitでControlは複数のセルを持つ
ウインドウとビューは独自座標系
グラフィックコンテクスト
描画はビューローカル座標系で
文書体系
文書は名前で識別されるデータのコンテナ
文書基本アプリ内のオブジェクトは階層関係持つ
文書体系は自動化アプリモデルをサポート
OSXでセルにフォーマッタを添付
イベント配信
イベント処理
KVO はバインディングに不可欠(OS X)
コアオブジェクトはイベントに応答
ペーストボードの持続性
アプリは環境設定の選択を提示
ユーザーデフォルト設定で OS X
レスポンダチェーンと協調イベント
ツールの使用でターゲット設定
ターゲットアクションと OS
アンドゥ操作はスタックに
操作はアンドゥグループに合体
アンドゥを要求する方法
アンドゥマネージャとレスポンダ
アンドゥを要求ユーザーインタフェース
iOS ではウィンドウはビューです
ビュー・オブジェクト
ビューのの中核プロパティ
ビューはアニメーションの本質
OS X のウィンドウオブジェクト
iOS のウィンドウオブジェクト
トップへ