で
おかげで、我々は一般的にMVCを使用しています。あなたがiOSの世界でアナログを探しているなら、そうです。あなたがMVCを実際に掘り下げてしまったと言っていて、深く不満足なことがあるので、別のパターンを導入したいと思っているのであれば、それは別の質問です。
MVCのようなアプローチで見られる責任の論理的な分離は、過度のものではありません。実際、「ビュー」クラスと「コントローラ」クラスの分割は、私たちが行うすべての作業の中心的な部分です(例えばUIView
サブクラス、UIViewController
サブクラスなど)。実際に行う必要があるのは、適切な「モデル」クラスを設計することだけです。あなたはレースに出ます。
しかし、あなたの質問に答えて、一般的に、モデル、ビュー、およびコントローラに別々のフレームワークターゲットを使用することはありません。それは恐らく過度のことだろう。通常、プロジェクト内のXcodeグループ/フォルダを適切に使用することで、すべてを追跡できます。私たちは一般的に、より技術的またはロジスティック的な理由(ライブビュー、アプリ拡張、複数のアプリケーション間のコード共有など)をフレームワークに取り込むだけです.WWDC 2015 Building Modern Frameworksを参照してください。
しかしMVC対MVPかVIPER(またはMVVMか何でも)の質問に。私はあなたが単にこれらすべてのパターンの共通の精神(すなわち責任の分離)を受け入れ、それをあなたのiOS MVCコードに適用することをお勧めします。あなたのベルトの下でいくつかのiOSの経験をしたら、このパターンの質問を再評価することができます。
出典
2016-11-21 23:46:03
Rob
のために、それを使用する私はMVCに選択した場合でも、私は同じプロジェクトにモデルとビュー/ビューコントローラを維持する必要があります。または、モデル用に別のプロジェクト(iOSのフレームワーク)を作成しますか? – Pragmatic
@Pragmatic - いいえ、あなたは通常、別々のフレームワークを使用しません。改訂版の回答を参照してください。 – Rob