TableView呈现其单元格的内部过程是什么,意味着表视图是否有任意数量的单元格大约500,那么这些单元格将如何在用户之前呈现
答案 0 :(得分:1)
单独渲染单元格,并且仅在需要可见时才渲染单元格。 tableview包含足够的单元格以始终显示可显示的内容。没有其他单元格被渲染。当一个人从顶部滚动时,它会被回收并重新用于那个即将从底部滚动的那个。
500行的表在任何给定时间都不得超过10-12个单元格,具体取决于tableview的大小和单元格的大小。
答案 1 :(得分:0)
只有当它在tableView中可见时才会呈现单元格,并且将消失的单元格放入一个容器中,该容器可以重复用于具有相同CellIdentifier
的下一个出现的单元格。所以只有visible才会在tableView中呈现。按单元格计算内存的成本取决于tableview中可见的单元格数量以及CellIdentifier
中用于创建新单元格的cellForRowAtIndexPath
个。{/ p>
以下步骤是细胞的生命周期:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
dequeueReusableCellWithIdentifier
中的cellForRowAtIndexPath
以CellIdentifier
检查可重复使用的单元格。CellIdentifier
的单元格
如果不是nil,则可以重用没有alloc的单元格。单元格将调用prepareForReuse
,您可以覆盖自定义单元格中的方法以重置UI。 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
,您可以在显示之前自定义单元格对象。delegate
调用dequeueReusableCellWithIdentifier
CellIdentifier
{。}}的时间。