静态表视图在iOS6中工作,但在iOS5中不工作

静态表视图在iOS6中工作,但在iOS5中不工作,ios5,ios6,uitableview,Ios5,Ios6,Uitableview,我搜索了好几个小时,找到了很多提示,但没有找到解决方案。我有一个非常简单的带有静态单元格的tableview。我正在关注苹果的文档。我没有使用故事板,我已取消选中自动布局,将文档版本控制设置为iOS5。它在iOS6中工作正常,但在iOS5中单元格为零,因此它将崩溃 单元是在IB中完成的,我有连接的属性,我有单元标识符(实际上不需要,但没有区别)。log语句在iOS5中返回(null),但在iOS6中正确返回一个单元格 - (UITableViewCell *)tableView:(UITable

我搜索了好几个小时,找到了很多提示,但没有找到解决方案。我有一个非常简单的带有静态单元格的tableview。我正在关注苹果的文档。我没有使用故事板,我已取消选中自动布局,将文档版本控制设置为iOS5。它在iOS6中工作正常,但在iOS5中单元格为零,因此它将崩溃

单元是在IB中完成的,我有连接的属性,我有单元标识符(实际上不需要,但没有区别)。log语句在iOS5中返回(null),但在iOS6中正确返回一个单元格

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

    if (indexPath.section == 0 ) {

        if (indexPath.row ==0) {

        cell0.selectionStyle = UITableViewCellSelectionStyleNone;
        NSLog(@"description = %@",[cell0 description]);
        return cell0;
        }
        if (indexPath.row ==1) {

        cell1.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell1;
        }
        if (indexPath.row ==2) {

            cell2.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell2;
        }
        if (indexPath.row ==3) {

            cell3.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell3;
        }
    }
    cell4.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell4;
}

提前感谢你为我指明了正确的方向。我知道它一定很简单,但它让我抓狂。

用以下代码片段替换您的代码,它将在ios5中工作

if(indexPath.section==0){


}

使用dequeueReusableCellWithIdentifier时:如果没有创建单元格,它可以返回nil。此时,您需要分配并初始化您自己的单元格

马丁,谢谢你的回复。不幸的是,我收到了完全相同的错误消息,NSLOG为cell的描述返回null。UITableViewCell*cell1=[tableview dequeueReusableCellWithIdentifier:@“cell1”];将此方法替换为UITableViewCell*cell1=[tableview dequeueReusableCellWithIdentifier:@“cell1”forIndexPath:indexpath.row];或UITableViewCell*cell1=[tableview dequeueReusableCellWithIdentifier:@“cell1”for index:index];//我不知道确切的方法。至少试试这个方法我知道这个方法在iOS5和ios6之间发生了变化。然而,我不需要任何可重用的单元格,因为在静态视图中没有可重用的内容(所有自定义单元格都不同)Bryce,我想使用上面的代码。这就是苹果在他们的docu中为非故事板静态表视图编写的内容。如前所述,它在iOS6中工作得非常完美,但在iOS5中却不够有趣,尽管我完全按照docu所说的做了。我想这是一个问题,我使用的xcode版本比苹果在旧文档中使用的版本要晚。所以有些东西接线不正确。在模拟器和iOS6设备上运行良好,在iOS5中的空单元格中都会崩溃。我猜如果您开始模拟内存警告,您将在模拟器中看到相同的问题。如果你认为这是“线路中”的一个bug,我建议使用MARTIN的建议,而不是使用故事板。
    if (indexPath.row ==0) {

    UITableViewCell *cell0 = [tableview dequeueReusableCellWithIdentifier:@"cell0"];

    cell0.selectionStyle = UITableViewCellSelectionStyleNone;
    NSLog(@"description = %@",[cell0 description]);
    return cell0;

    if (indexPath.row ==1) {

    UITableViewCell *cell1 = [tableview dequeueReusableCellWithIdentifier:@"cell1"];

    cell1.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell1;
    }

    if (indexPath.row ==2) {

    UITableViewCell *cell2 = [tableview dequeueReusableCellWithIdentifier:@"cell2"];
        cell2.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell2;
    }

   if (indexPath.row ==3) {

      UITableViewCell *cell3 = [tableview dequeueReusableCellWithIdentifier:@"cell3"];
        cell3.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell3;
    }

   UITableViewCell *cell4 = [tableview dequeueReusableCellWithIdentifier:@"cell4"];
   cell4.selectionStyle = UITableViewCellSelectionStyleNone;
   return cell4;