繁体   English   中英

在 MVVM 中的两个 ViewController 之间传递数据

[英]Passing Data Between two ViewControllers in MVVM

我最近开始探索 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.

    }
}

我认为您以正确的方式完成了它,但是您也可以使用闭包。 这是 iOS 内首选的通信方法。 您将在必要时使用 memory 泄漏

weak 

或者

无主

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM