0

背景 - 通常、基本的な UIViewControllers を使用して、IBOutlet としてマークされたインスタンス変数を作成し、これらを Interface Builder を使用して実際のビュー コントロールにリンクする方法を理解しています。

質問 - モデル オブジェクトを UIViewController に渡す場合、ビュー コントロール (UILabel、UIPickerView など) をモデル変数 (つまり、カスタム クラスのインスタンス変数) に直接リンクする方法はありますか?

これは、ユーザーが UI コントロールを変更するとすぐにモデル属性を即座に更新する方法です。モデルを参照渡しとしてコントローラーに渡したとすると、結果として親の値が自動的に更新されます。

これにより、(a)初期化時にモデル値を変換してUIコンポーネントを設定する必要がなくなり、(b)ビューを終了するときにUIコンポーネントからモデル変数を手動で更新する必要がなくなると考えています。

4

2 に答える 2

2

onnowebの状態のように、これを自動的に行う方法はないと思います。主な理由は、Obj-Cが実際に探している変数の種類を知ることができないためです。ただし、モデルにプロパティとしてビューを持たせることで、モデルにビューを制御させることができます(これを強調します)。

Obj-CがMVCアーキテクチャに基づいて構築されていることを考えると、私はそれをアドバイスしません。コントローラに作業を任せます。トリガーを正しく設定すれば、これは大きな問題にはならないはずです。

于 2011-04-06T15:18:43.180 に答える
1

Obj-Cにはプロパティバインディングの概念はないと思います。

于 2011-04-06T15:13:30.777 に答える