私はRXSwiftとMVVMを使ってiPad用のアプリケーションを作っています。UICollectionViewControllerのための適切なMVVMアーキテクチャは何ですか
私はcollectionViewのためのデータソースとデリゲートとして機能しUICollectionViewとのViewModelとのUIViewControllerを持っています。
コレクションセルの機能の一部は、ボタンをタップしてポップオーバーを提示するときの機能です。今度はiOS 9の新しいポップオーバー機能(以前のバージョン)では、通常はビューコントローラ内でビューを表示し、popoverPresentationControllerを変更する必要があります。
は今、私の知る限り承知しているとして、あなたはUICollectionViewCellからのUIViewControllerを提示することができません。意味をなさない
私はこれを行うと思った唯一の方法は、ViewControllerを指すデリゲートを持つことです。
クラス図(添付)を見ると、viewModelはセルのデキュー時にデリゲートを設定する必要があります。これを行うには、ViewModelはどのViewControllerをデリゲートとして設定するかを知っていなければならないでしょう。私はかなり確信していますが、viewModelのポイントに逆らっています。 MVVM(iOSの場合)によれば、ビューモデルはビューコントローラについて知ってはいけません。ビューコントローラは、ビューモデルについて知ることができます。
そして私の質問は、MVVMの後にこれを行うための最良の方法は何でしょうか? dataSource/Delegateを別のクラスに移動する必要がある場合は、それをすべて行います。