gpt4 book ai didi

ios - UItableviewcell "cell-identifier"内存管理

转载 作者:行者123 更新时间:2023-12-01 19:20:48 25 4
gpt4 key购买 nike

如果我们给所有单元格赋予相同的标识符,则消失单元格使用出现单元格的内存。意味着当我滚动表格 View 时内容将重复。但是如果我们给出 diff 标识符,那么每个单元格都会有自己的内存位置并完美地显示数据。

现在假设我在表格 View 中加载了 1000 条或更多记录。如果我给出不同的标识符,内存中会有很多分配。那么有没有什么解决方案可以以最少的内存分配完美地显示数据?

这是我定义单元格标识符的方式:

-(UITableViewCell *)tableView:(UITableView *)tableView 
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = [NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
UITableViewCell *Cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (Cell == nil)
{
Cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:cellIdentifier];
}
}

最佳答案

您遇到的问题是由您不正确地使用单元标识符引起的。对于要重用的所有单元格,单元格标识符应该相同。看看这个模板,它应该解释正确的方法:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellIdentifier = @"MY_CELL";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
// everything that is similar in all cells should be defined here
// like background colors, label colors, indentation etc.
}
// everything that is row specific should go here
// like label text, progress view progress etc.
return cell;
}

顺便提一句。使用驼峰式命名变量,大写名称用于类名。

关于ios - UItableviewcell "cell-identifier"内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446793/

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