关于UITableView和UICollectionView的Cell重用总结

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使用上面初始化方法即可。
欢迎评论区批评指正,多多交流!

猜你喜欢

转载自blog.csdn.net/weixin_44758107/article/details/127621630