当我们调用这两个方法其中一个方法根据Identifier
从cell
的重用队列池取cell
的时候,如果我们在调用方法之前已经注册一个绑定Identifier
的class
,那么一定会取出一个可重用的cell
。注册一个绑定Identifier
的class
,此方法会调用cell
的initWithStyle:reuseIdentifier:
方法来初始化cell
。对于xib
描述的cell,这个方法会从指定的xib
文件中加载cell。如果有存在的并且可复用的cell, 此方法会调用cell的prepareForReuse
。
1、dequeueReusableCellWithIdentifier
从苹果开发者文档中可以看出,
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:
注意:使用此方法从cell重用队列取cell的时候,必须在调用此方法之前注册
class
或者nib
。