gpt4 book ai didi

iphone - 使用 xib 加载单元时的表格 View 单元重新创建

转载 作者:行者123 更新时间:2023-12-03 19:39:09 26 4
gpt4 key购买 nike

在我的 TableView 中,我使用 Xib 加载自定义单元格,对于 IndexPath 的单元格的每个条目,都会重新创建单元格。如何避免细胞重新生成?

我是 iPhone 新手,请帮助我。

最佳答案

您可以使用标准方法来缓存以前创建的单元格。在您的 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中,您应该使用下一种方法创建单元格:

static NSString *CellIdentifier = @"YourCellIdentifier";
cell = (UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// create (alloc + init) new one
[[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = myCell;
self.myCell = nil;
}
// using new cell or previously created

不要忘记您将在内存中存储所有可见单元格的对象。当您滚动表格时,这些单元格将被重复使用。

例如,如果您有 10 个可见单元格,则单元格将 == nil 10 次,然后您将分配+初始化它们。当您向下滚动时,将创建另一个单元格(因为将有 11 个可见单元格),对于 12 个单元格,您将重用为第一个单元格创建的单元格。

正如 @rckoenes 所说,不要忘记在 IB 中设置相同的单元格 CellIdentifier

希望,我说得很清楚。

关于iphone - 使用 xib 加载单元时的表格 View 单元重新创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7358772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com