前提・実現したいこと
MVVM + RxSwiftを用いた時に生じる異なる画面間でのデータの受け渡し方法のベストな方法を教えていただきたいです。
例えば、画面1ではTableViewがあり、TableViewCellをタップすると、画面2に遷移します。
この遷移時に、画面1でタップしたTableViewCellの情報を画面2に渡したいと考えています。
画面1で以下のようなコードを書けばタップしたCellの情報を取得できると思います。
swift
1func selectCell() { 2 tableView.rx.modelSelected(Model.self) 3 .subscribe(onNext: { [weak self] model in 4 // タップしたCellの情報は取得できる 5 print(model) 6 7 // 画面2に遷移 8 self?.performSegue(withIdentifier: "segue", sender: nil) 9 }) 10 .disposed(by: disposeBag) 11 }
この中で、以下のようなコードを書けばタップしたCellの情報を渡せることは渡せますが、MVVM + RxSwiftを使っている場合、ベストな方法とはあまり思えません。
swift
1let vc = segue.destination as! NextViewController 2vc.model = model
こういった方法ではなく、MVVM + RxSwiftを用いた時に生じる異なる画面間でのデータの受け渡し方法のベストプラクティス的なものがあれば教えていただきたいですm(_ _)m
回答1件
あなたの回答
tips
プレビュー