1

MVCアーキテクチャを採用している私のアプリには、基本的に同じモデル クラスを使用する 2 つの異なるコントローラーがあります。

このモデル クラスは、新しいコントローラーに渡すときにクラスの新しいインスタンスを初期化するinitことを使用してオブジェクト グラフ全体をアンアーカイブするNSKeyedUnarchiverため、リソースの点でやや高価になる可能性があります。

したがって、最初から新しいインスタンスを作成するのではなく、最初のコントローラーの既に初期化されたモデル クラスへのポインターを 2 番目のコントローラーに渡すことが「良い習慣」になるかどうか疑問に思っていました。

皆さんはどう思いますか?

4

2 に答える 2

4

したがって、最初から新しいインスタンスを作成するのではなく、最初のコントローラーの既に初期化されたモデル クラスへのポインターを 2 番目のコントローラーに渡すことが「良い習慣」になるかどうか疑問に思っていました。

確かに、2 つのコントローラーが同じデータで動作することになっている場合は問題ありません。ビュー コントローラーは、モデルの取得元に依存するべきではありません。指定されたモデルを使用するだけです。これにより、View Controller の柔軟性が保たれます。つまり、同じコントローラーをモデルの異なるインスタンスでいつでも使用できるということです。

于 2013-01-28T21:32:57.307 に答える
2

これが、モデル、ビュー、およびコントローラーを分離する理由であり、クレイジーなリファクタリングを心配することなく、このように簡単に組み合わせることができます。はい、できますし、奨励されています。たとえば、iPhone でドリルダウン ナビゲーション UI を使用している場合は特にそうです。

于 2013-01-28T21:48:57.740 に答える