UITableViewCell不按顺序显示索引路径行

时间:2010-08-28 21:42:23

标签: iphone uitableview

奇怪的问题,我正在创建一个UITableView,设置8行数据。简单地说,我只是返回索引路径行来尝试找出错误,但最终,屏幕外的所有行似乎都按照奇怪的顺序加载。

例如,第0,1,2,3,4,5行在首次加载时都显示正常,但随后是6& 7屏幕外。当我滚动到它们时,我通常会看到第6行和第0行,或者第6行和第1行。然后,当我向上滚动时,我会看到第7行出现在表格的顶部。

这是我的代码:

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

    static NSString *CellIdentifier = @"Cell";

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

        [cell.textLabel setText:[NSString stringWithFormat:@"Row: %d", [indexPath row]]];
    }

    return cell;
} 

我做的事真的很蠢吗?干杯

2 个答案:

答案 0 :(得分:1)

您可以使用

NSString * cellIdentifier = [NSString stringWithFormat:@“%d”,indexPath.row];

而不是

static NSString * CellIdentifier = @“Cell”;

答案 1 :(得分:0)

在if语句中创建单元格,然后在if语句之外设置属性(即标签)。