关于UITableView和UICollectionView的Cell重用总结
2024-04-09 17:40:37  阅读数 1862

1、cell注册

registerClass:forCellWithReuseIdentifier:

 UITableView不需要进行cell注册,而UICollectionView必须进行cell注册


2、cell复用

方法一: dequeueReusableCell:WithIdentifier:

方法二: dequeueReusableCell:WithIdentifier:    forIndexPath:

UITableView可以使用方法一、方法二获取复用池cell

UICollectionView只能使用方法二来获取复用池cell

注意1: 在使用UITableView的时候,如果手动在UITableView初始化的时候进行了cell的注册,那么使用方法一、方法二都会生成cell,不会出现为nil的情况。如果没有手动注册cell,那么方法一可能为nil,这个时候需要手动判断cell是否为nil,并通过initWithStyle:reuseIdentifier:方法手动创建。

注意2: 在使用UITableView的时候,只有注册了相应的cell的类,才可以使用方法二,否则程序将会crash


3、自定义cell

initWithStyle: reuseIdentifier:

一般来说,UITableViewCell的初始化方法使用上面方法,UICollectionViewCell没有这个方法

initWithFrame:

而UICollectionViewCell使用上面初始化方法即可


欢迎评论区批评指正,多多交流!