A way to think about delegates and data sources is that data source methods ask information about the data itself. For example:
How many items are being displayed? How many sections are there?
Delegate methods respond to actions. For example:
The user tapped a row
The user swiped to delete
What you do with your data is up to you although it is a good practice to be consistent where you modify your data.