CollectionView в tableViewCell MVVM - PullRequest
       31

CollectionView в tableViewCell MVVM

0 голосов
/ 06 июля 2018

Я создаю приложение в Swift 4, используя MVVM без реактивного. Я хотел бы вызвать обновления viewmodel из модели View tableView, чтобы не превращать ее в код spagetthi. Вместо того чтобы создавать одну модель представления для каждой коллекции ViewCell, я пытаюсь обновить ее из основной модели представления.

//Spaghetti option (VM - ViewModel , VC - ViewController) 
//TableVC - TableVM 
//Cell- CellVM 
//CollectionCell- CollectionVM 

И обновление моделей и менеджеров. Я использую метод ниже, чтобы делегировать обратно в Main TableViewController, чтобы дать MainViewModel всю ответственность. Так как у меня есть несколько CollectionViews в разных ячейках, я думаю, что это лучший способ сделать. Есть предложения?

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 голосов
/ 09 июля 2018

Вам действительно лучше создать модель представления для каждой ячейки. Часть спагетти приходит, когда вы делаете переплет.

...