The collection view DataSource object is responsible for providing the data that is required by the collectionview. It is like the collectionview application's data model. It passes the data to the collectionview that is to be displayed.
On the other hand, CollectionView Delegate object handles the selection, deselection, highlighting the items in the collectionview.