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