【发布时间】:2021-12-15 01:21:50
【问题描述】:
这是我的 FirstView(父视图)
tableView.rx.modelSelected(Kinder.self)
.asDriver()
.drive(self.detailKinderViewModel.currentKinder)
.disposed(by: disposeBag)
这是 ViewModel ( BehaviorRelay )
lazy var currentKinder = BehaviorRelay<Kinder>(value: Kinder())
这是我的第二视图(子视图)
override func viewDidLoad() {
super.viewDidLoad()
detailKinderViewModel.currentKinder
.asDriver(onErrorJustReturn:Kinder())
.map{$0.kinder_name}
.drive(self.navigationItem.rx.title)
.disposed(by: disposeBag)
}
我只能获取默认模型数据。
我想获取子视图的当前数据
【问题讨论】:
-
当您说“第一个视图”和“第二个视图”时,您的意思是它们是两个不同的视图控制器吗?
-
是 firstView 是 TableViewController & Second View 是 TableView 的 TableViewCell 的 Detail Controller
-
TableViewController 的 TableViewCell 做了 ModelSelected
-
很有可能,您有两个不同的视图模型对象,因此其中一个的数据不会影响另一个的数据。不过,如果没有更多代码,我无法判断。
标签: swift mvvm rx-swift drive behaviorrelay