2

我的表格视图有问题。当我滚动并且一个单元格从屏幕上消失时,它变成空白。我在情节提要中构建了一个带有两个标签和一个图像视图的原型单元,它具有我在代码中使用的相同标识符。我还为 customcell 构建了一个自定义类。这是 cellForRowAtIndexPath 中的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

static NSString *CellIdentifier = @"Cell";
Scientist *currentScientist = [[xmlParser data] objectAtIndex:indexPath.row];

CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}

cell.self.cellName.text = currentScientist.self.name;
cell.self.cellSubject.text = currentScientist.self.subject;
cell.self.cellImage.image = currentScientist.self.image;

return cell;
}

我不知道您是否需要更多代码来帮助我。

4

2 回答 2

1

就我而言,为每个单元创建一个不同的单元标识符就可以了。我有类似的东西:

NSString *cellIdentifier = [NSString stringWithFormat:@"identifier%i%i", indexPath.section, indexPath.row];

其余的应该保持不变。

于 2012-09-11T14:03:34.547 回答
0

我发现一篇文章详细说明了您遇到的问题。我还建议打印出 Scientist 数据,以确保使用 objectAtIndex:indexPath.row 调用正确获取对象。

从我在下面链接的文章中,我愿意打赌您的 dequeueReusableCellWithIdentifier 是问题所在。解决此问题的一种快速方法是为每个单元格提供其自己的唯一单元格标识符(只是为了测试理论)。但是,看起来解决此问题的适当方法是更改​​ cellForRowAtIndex 方法。

资源

于 2012-09-11T14:02:57.937 回答