tableViewCell MVVM中的CollectionView

时间:2018-07-06 13:32:26

标签: ios swift mvvm rx-swift

我正在使用无响应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()
}

1 个答案:

答案 0 :(得分:0)

为每个单元格创建一个视图模型确实要好得多。当您进行装订时,将出现意大利面条部分。