13.2.2 UICollectionViewDataSource

13.2.2 UICollectionViewDataSource

在View Controller中添加UICollectionView之后,运行模拟器会发现什么也没有,因为我们还未给UICollectionView添加dataSource。与UITableView相似,Collection View也需要dataSource这样一个符合UICollectionViewDataSource的实例。我们可以在View Controller中简单地实现这个协议的方法,代码示例如下:

动手写13.2.1 UICollectionViewPractise->ViewController.swift

协议中有三个必须实现的方法:

这三个方法为UICollectionView的渲染提供段(section)数量、每个段中的单元数(row)以及每个单元要展示的Cell样式。在没有dataSource之前,整个列表内容是空的,因此在设置完新的dataSource之后还需要调用reloadData这个方法进行重载数据的操作。注意:在UICollectionView的世界中,使用到的Cell一定要注册,不然会造成崩溃。

当再次运行模拟器的时候,我们会发现UICollectionView多了两个红色的方块,如图13.2.5所示:

图13.2.5 为Collection View增加dataSource

最后,使用UICollectionViewDataSource中的三个方法就可以展示UICollectionView的单元内容了。