私は自分のiOSプロジェクトでMVVM
アーキテクチャを適用しようとしていると私はと言われてthis oneのようないくつかの記事を読んだ:私たちはアプリ全体のルータを作ることができますiOSのMVVM:誰が組立を担当していますか?
(...)を
しかし、私はこの種のクラスのコードサンプルは見つかりませんでした。誰かが適切な方法を説明できることを本当に感謝しています。 MVVM
アセンブリのような "Router"クラスを実装するか、例を見つけてください。
私は自分のiOSプロジェクトでMVVM
アーキテクチャを適用しようとしていると私はと言われてthis oneのようないくつかの記事を読んだ:私たちはアプリ全体のルータを作ることができますiOSのMVVM:誰が組立を担当していますか?
(...)を
しかし、私はこの種のクラスのコードサンプルは見つかりませんでした。誰かが適切な方法を説明できることを本当に感謝しています。 MVVM
アセンブリのような "Router"クラスを実装するか、例を見つけてください。
MVVM
ルータは通常またはClean Swift
のようなClean Architecture
のアプリケーションは実行しません。 MVVM
で
あなたはViewModel
を設定し、ビューコントローラviewModel
プロパティに割り当てよりも、あなたのAppDelegate
でルートUIViewController
をインスタンス化します。後で、prepareForSegue
にupcomming MVVM
のシーンを設定する可能性のある場所が1つあります。
This is a good explanation of MVVMも、プロジェクト例にリンクしています。
これらの概念を確かにMVVM
に追加できます。そうしたい場合は、this Clean Swift example projectを見て、実装のコンセプトをRouter
とConfigurator
に適応させ、独自のカスタマイズしたMVVM
アプローチを開発することができます。この点で未定義の責任:あなたがMVVM
の弱点の一つを特定しているよう
あなたの質問(複数可)Who is responsible for setting up my MVVM scene
とwho is responsible for routing in-between scenes
は、しかし非常に良いです。
第2の大きな弱点は、ViewModel
とView
の間の双方向通信です。
双方向通信もVIPER
(View <-> Presenter
およびPresenter <-> Interactor
)の問題です。
上記のすべての問題を処理する唯一のiOS固有のアプローチ(私が知っている)はClean Swift
です。私はそれがトピックから降りるようにここで書くことをやめます。
'MVVM'は' Router'を必要としません。 'VIPER'や' Clean Swift'のような 'Clean Architecture'のアプローチは一般的にそうしています。私は以下のクリーンスウィフトチュートリアルで、「ルータ」の説明とサンプルコードを見つけることができます:http://clean-swift.com/ – shallowThought
@shallowThoughtありがとう。 'MVVM'が' Router'を必要としない場合、どのようにアセンブリを行うべきですか? – AppsDev