【发布时间】:2021-05-12 04:32:06
【问题描述】:
我最近开始探索 MVVM 并坚持在 2 个视图控制器之间传递数据。我在 ViewController1 的 viewModel1 中有一个项目数组,我想将该数组传递给 viewcontroller2。我可以通过从 viewModel1 获取整个数组来实现它,如下所示,但我不确定这是否是正确的方法。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == Constants.kShowDetailSegue {
let destinationViewController = segue.destination as! ListViewController
destinationViewController.products = viewModel1.getFavouriteProducts()
//the getFavouriteProducts gets data from coredata.
}
}
【问题讨论】:
-
这是一种常用的数据传递模式,因此没有任何问题/坏处。它工作正常,对吧?你想传递一个数组,你的
ListViewController得到这个数组。 -
感谢您的回复。我不认为我正在做的是正确遵循 MVVM。我不希望 viewcontroller2 中的数组暴露给 viewcontroller1