I'm trying to implement a separate class for UICollectionViewDelegate and UICollectionViewDataSource. However, I always seem to need access to the data model in order to calculate certain Delegate methods such as size of a cell.
I've never seen these two protocols implemented in separate classes, so why does Apple make them distinct protocols?