gpt4 book ai didi

ios - 滚动时 UITableViewCells 未被重用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:07:43 26 4
gpt4 key购买 nike

我正在构建一个应用程序,其中屏幕应显示一个 TableView ,其中 TableView 中的前两行是两个不同的自定义单元格,其余是不同的自定义单元格。所以我在我的 cellForRowAtIndexPath 中做了这个:我的代码:

if (indexPath.row == 0 && !isSearchEnabled) {
FirstRowViewCell *cell;
static NSString *CellIdentifier = @"FirstCell";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {

// load a new cell from the nib file
[[NSBundle mainBundle] loadNibNamed:@"ContactCell" owner:self options:nil];
cell = self.firstCell;
//cell.delegate = self;
//cell.indexPath = indexPath;
self.firstCell = nil;

}
return cell;
} else if (indexPath.row == 1 && !isSearchEnabled) {
SecondRowViewCell *cell;
static NSString *CellIdentifier = @"SecondCell";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {

// load a new cell from the nib file
[[NSBundle mainBundle] loadNibNamed:@"ContactCell" owner:self options:nil];
cell = self.secondCell;
//cell.delegate = self;
//cell.indexPath = indexPath;
self.secondCell = nil;

}
return cell;
}else {

static NSString *CellIdentifier = @"ContactCell";

ContactTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {


[[NSBundle mainBundle] loadNibNamed:@"ContactCell" owner:self options:nil];

// load a new cell from the nib file

cell = self.contactCell;
cell.delegate = self;
cell.indexPath = indexPath;
self.contactCell = nil;

}
return cell;}

但滚动表格 View 时它会滞后。当我检查仪器中的时间分析器时,它显示 cellForRowAtIndexPath 尤其是

[[NSBundle mainBundle] loadNibNamed:@"ContactCell" owner:self options:nil];

加载时间过长,导致延迟。我的问题是,单元格是否被重用,因为即使我们滚动到顶部,上面的行也会对每个单元格执行。请帮助我解决延迟问题。谢谢!

最佳答案

试试这个可能会有帮助

 static NSString *simpleTableIdentifier = @"ContactCell";

ContactCell *cell = (ContactCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ContactCell" owner:self options:nil];
cell = [nib objectAtIndex:0];


}

return cell;

关于ios - 滚动时 UITableViewCells 未被重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494394/

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