代码之家  ›  专栏  ›  技术社区  ›  mootymoots

显示索引路径行顺序错误的UITableViewCell

  •  2
  • mootymoots  · 技术社区  · 15 年前

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

    例如,第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 回复  |  直到 14 年前
        1
  •  0
  •   Rudiger    15 年前

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

        2
  •  1
  •   Prerna    14 年前

    你可以使用

    nsString*CellIdentifier=[nsString StringWithFormat:@“%d”,indexPath.row];

    而不是

    静态nsstring*cellIdentifier=@“cell”;