0

Cocoa MVC の採用では、View はモデルについて何も認識していません。これを次の図に示します。

Cocoa MVC 相互作用図

しかし、次の例
を考えてみてください。モデルにItemクラスがあり、それを視覚的に表現したいと考えています。私にとって最も明白なのは、 Itemで初期化されるItemViewクラスです。 このように、私は Cocoa MVC のルールを破っており、それに違和感を覚えています。しかし、 ItemViewのようなクラスがないのも違和感があります。最も実用的な解決策は何ですか?

4

1 に答える 1

0

MVC について本当に心配している場合は、次のようにコントローラーでメソッドを定義するのはどうでしょうか。

- (UIView*)itemViewForItem:(Item*)item;

ItemView の作成と「入力」を担当するのはどれですか?

メインコントローラークラスは、メインビューとItemViews取得したすべてのコントローラーとして機能します。

別のアプローチは、各 ItemView に独自の ItemViewController を与えることです。これは完全に問題なく、コントローラー/ビューが複雑である場合、IMOも最善のアプローチです。これの欠点は、コントローラー コンテナーの処理が iOS>5 でのみサポートされていることです。

于 2013-01-21T18:28:23.117 に答える