我正在使用无响应MVVM在Swift 4中构建应用程序。我想从tableView的View模型中调用viewmodel更新,以免将其转换为spagetthi代码。我没有为每个collectionViewCell创建一个视图模型,而是尝试从主ViewModel更新。
//Spaghetti option (VM - ViewModel , VC - ViewController)
//TableVC - TableVM
//Cell- CellVM
//CollectionCell- CollectionVM
模型和管理器正在更新。我正在使用下面的方法将其委派回Main TableViewController,以赋予MainViewModel所有责任。由于我在不同的单元中有多个CollectionView,因此我认为这是最好的方法。有什么建议吗?
func setCollectionViewDataSourceDelegate<D: UICollectionViewDataSource & UICollectionViewDelegate>(dataSourceDelegate: D, forRow row:Int){
self.collectionView.delegate = dataSourceDelegate
self.collectionView.dataSource = dataSourceDelegate
self.collectionView.tag = row
self.collectionView.reloadData()
}
答案 0 :(得分:0)
为每个单元格创建一个视图模型确实要好得多。当您进行装订时,将出现意大利面条部分。