2

アップルは次のように述べています。

NSController オブジェクトの属性。NSController オブジェクトにバインドする場合、このフィールドを使用してキー パスの最初のエントリを選択します。このフィールドに関連付けられたメニューには、便宜上、選択したコントローラー オブジェクトで使用可能なプロパティが表示されます。プロパティの名前を入力するか、表示されたリストから選択することができます。

誰かがそれを別の言葉で説明できますか?

4

1 に答える 1

1

ビューオブジェクトをモデルプロパティにバインドしています。(概略的に)次のようなもの:

myTextField.value <=> myModel.textValue.

上記のように、ビュープロパティをモデルオブジェクトのプロパティに直接バインドすることはできますが、実際にはバインドしないでください。NSObjectControllerAppleのコントローラーが提供する優れた機能(たとえば、NSArrayControllerなど)を見逃してしまうでしょう。代わりに、次のように、モデルにバインドされているコントローラーにビューをバインドする必要があります。

myTextField.value <=> myObjectController.selection.textValue 
  and 
myObjectController.contentObject <=> myModel

この設定では、myObjectController.selectionはmyObjectController.contentObjectのKey-Valueバインディング互換プロキシであり、myObjectControllerはビューとモデルの間のメディエーターとして機能できます。NSArrayControllerInterface Builderは、コントローラーがバインドされたモデル( 'sarrangedObjectsや)の複数のプロキシーを公開する可能性があるため、この関心の分離を明確にしますselectedObjects。上記の例でmyTextField.valueをバインドする場合、「ControllerKey」フィールドに「selection」と入力し、「ModelObjectKeypath」パスフィールドに「textValue」と入力します。

于 2009-02-27T22:11:20.813 に答える