Ios 为什么UICollectionViewDelegate和UICollectionViewDataSource是不同的协议?

Ios 为什么UICollectionViewDelegate和UICollectionViewDataSource是不同的协议?,ios,uitableview,uicollectionview,uicollectionviewdelegate,Ios,Uitableview,Uicollectionview,Uicollectionviewdelegate,我正在尝试为UICollectionViewDelegate和UICollectionViewDataSource实现一个单独的类。然而,我似乎总是需要访问数据模型才能计算某些委托方法,例如单元格的大小 我从未见过这两个协议在不同的类中实现,那么为什么苹果会将它们作为不同的协议来实现呢?当我想在两个或多个不同的视图控制器中以不同的方式显示相同的数据时,我在不同的类中实现了它们。这种情况在iOS上非常罕见,但如果您是为OS X开发的,这种情况会经常发生。问得好!对我来说,datasource用于提

我正在尝试为UICollectionViewDelegate和UICollectionViewDataSource实现一个单独的类。然而,我似乎总是需要访问数据模型才能计算某些委托方法,例如单元格的大小


我从未见过这两个协议在不同的类中实现,那么为什么苹果会将它们作为不同的协议来实现呢?

当我想在两个或多个不同的视图控制器中以不同的方式显示相同的数据时,我在不同的类中实现了它们。这种情况在iOS上非常罕见,但如果您是为OS X开发的,这种情况会经常发生。

问得好!对我来说,datasource用于提供数据和委托,以响应事件和自定义样式。你应该看看