I recently switched my app over from MVC
to Clean Swift
and i'm having trouble deciding in which classes to put certain things. For example, should the delegate
/datasource
functions for a UICollectionView
/UITableView
go in the Interactor
, or Presenter
? Or maybe certain functions, like didSelectItemAt
should go in the Interactor
because they deal with input, and others, like cellForItemAt
, should go in the Presenter
because they deal with views.
What are your decision making processes when deciding where to put certain functionality in Clean Swift
?`
Currently I have the following in my ViewController
{
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
func scrollViewDidScroll(_ scrollView: UIScrollView)
}
the following in my Interactor
{
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
}
and the following in my Presenter
{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
}
Aucun commentaire:
Enregistrer un commentaire