0

ある種のモデル オブジェクトがあり、そのさまざまなプロパティが複数のビューと (カスタム) サブビューによって変更される状況を処理するための確立された方法は何ですか?

サブビューには、そのコンテナへの参照が必要です(iOSがそのような参照を保持しているかどうかはわかりませんが、必要に応じて設定できます)。これにはコンテンツがあり、そのように変更されますか?

コンテンツへのポインタを持つビューはできるだけ少なくし、サブビューはコンテナにメッセージを送信してコンテンツを変更できるようにすべきでしょうか?

他の何か?何かを一緒にハックできることはわかっていますが、これには適切な設計パターンが必要です。

4

1 に答える 1

1

通常の MVC の方法は、コントローラー オブジェクトを使用してビューとモデルの間を仲介することです。

1 つの viewController を使用して各画面全体のビュー階層を管理し、さまざまな viewController のそれぞれが更新する個別のモデル オブジェクトを使用します。

ビューまたはサブビューには、モデルへのポインターはありません。ビューまたはサブビューからデータを取得する一般的な方法は、デリゲートを使用するか、ビューが UIControl サブクラスの場合はターゲット/アクションです。デリゲート (またはアクション メソッドの場所) はビュー コントローラーになります。ビューはモデルについて認識すべきではなく、その逆も同様です。

アプリの存続期間中、さまざまなビュー コントローラーから更新される永続的なモデル オブジェクトが 1 つ必要な場合は、シングルトン パターンを使用する可能性が最も高いでしょう - Apple ドキュメントはこちら- シングルトンに関する多数の Q&A も参照してくださいオブジェクト)、およびこのリンク.

于 2013-01-25T06:04:24.617 に答える