是否可以在UITableViews的不同实例中重用UITableViewCells?

时间:2015-05-07 11:49:29

标签: ios objective-c uitableview

我有一个自定义UITableView,显示一组自定义UITableViewCells。这个tableView将在几个不同的UIViewControllers中实例化。在某些用例中,不同的viewControllers将同时存在于UINavigationController中,例如:

UIViewController viewA;推送到UIViewController viewB;两个控制器都有自己的UITableViewtableViews都有自己的UITableViewCells reuseIdentifier个{。}}。

来自UITableViewCell的{​​{1}} viewA是否会在viewB中被重复使用?

3 个答案:

答案 0 :(得分:5)

根据the docs,没有。

  

UITableView对象维护当前的队列(或列表)   可重用的单元,每个单元都有自己的重用标识符,并制作它们   可用于dequeueReusableCellWithIdentifier中的委托:   方法

实例将维护自己的重用队列。

答案 1 :(得分:0)

每个tableView排队可执行单元格为

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath];
   //    instance, not class ⤴︎

因此tableView对象拥有自己的队列 - 而不是类UITableView。

答案 2 :(得分:0)

没有。当您创建一个重用的UITableViewCell时,一个新的UITableViewCell链接到它的委托,UITableView INSTANCE(id):

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier;

因此,每个UITableView都将包含另一个单元格列表。