dequeueReusableCellWithIdentifier 和 dequeueReusableCellWithIdentifier: forIndexPath: 的区别

当我们调用这两个方法其中一个方法根据Identifiercell的重用队列池取cell的时候,如果我们在调用方法之前已经注册一个绑定Identifierclass,那么一定会取出一个可重用的cell。注册一个绑定Identifierclass,此方法会调用cellinitWithStyle:reuseIdentifier: 方法来初始化cell。对于xib描述的cell,这个方法会从指定的xib文件中加载cell。如果有存在的并且可复用的cell, 此方法会调用cell的prepareForReuse

1、dequeueReusableCellWithIdentifier

image.png

从苹果开发者文档中可以看出,A UITableViewCell object with the associated identifier or nil if no such object exists in the reusable-cell queue.此方法可以返回一个UITableViewCell对象或者nil。如果没有可复用的cell,并且没有注册一个class或者nib文件,此方法会返回nil

注意:当我们用此方法根据Identifier来取cell的时候,此方法会先判断是否手动初始化一个cell,如果没有手动初始化cell,那就判断有没有注册cell,如果也没有注册cell, 那就根据Identifier看storyBoard中是否存在绑定此标识的cell,如果没有存在绑定此标识的cell, 那就返回nil

2、dequeueReusableCellWithIdentifier: forIndexPath:

image.png

注意:使用此方法从cell重用队列取cell的时候,必须在调用此方法之前注册class或者nib

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容