我有一个自定义UITableView
,显示一组自定义UITableViewCells
。这个tableView
将在几个不同的UIViewControllers
中实例化。在某些用例中,不同的viewControllers
将同时存在于UINavigationController
中,例如:
UIViewController viewA;
推送到UIViewController viewB;
两个控制器都有自己的UITableView
。 tableViews
都有自己的UITableViewCells
reuseIdentifier
个{。}}。
来自UITableViewCell
的{{1}} viewA
是否会在viewB
中被重复使用?
答案 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都将包含另一个单元格列表。