tablecell在IOS 6.0中工作,但在IOS 5.1中不工作

tablecell在IOS 6.0中工作,但在IOS 5.1中不工作,ios,tablecell,Ios,Tablecell,我已经更新了我的应用程序并添加了一些功能,但我的TableView出现了一些奇怪的情况。让我解释一下: 我有一个tableview,当按下一行时,我想打开一个新的视图控制器 我正在使用故事板和分段,以下是我所拥有的: 以及当按下该行时打开视图控制器的序列 每一行的内容都在一个单独的.xib文件中(如果保持不变,我会在IOS 6.0中强制关闭,或者我可以处理内容,无论我添加了什么) 因此,我的EachCell.xib是: 这是我每个单元格的代码: - (UITableViewCell *)tab

我已经更新了我的应用程序并添加了一些功能,但我的TableView出现了一些奇怪的情况。让我解释一下:

我有一个tableview,当按下一行时,我想打开一个新的视图控制器

我正在使用故事板和分段,以下是我所拥有的:

以及当按下该行时打开视图控制器的序列

每一行的内容都在一个单独的.xib文件中(如果保持不变,我会在IOS 6.0中强制关闭,或者我可以处理内容,无论我添加了什么)

因此,我的EachCell.xib是:

这是我每个单元格的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier=@"EachCell";
    //this is the identifier of the custom cell
    EachCell *cell = (EachCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    tableView.backgroundColor=[UIColor clearColor];
    tableView.opaque=NO;
    tableView.backgroundView=nil;

    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"EachCell" owner:self options:nil]; ######HERE IS THE SIGBART PROBLEM
        cell = [nib objectAtIndex:0];
    }
   /*** bla bla bla**/


    return cell;
}
这用于按下并打开新的视图控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
/..rest of code ../
[self performSegueWithIdentifier:@"nameofsegue" sender:tableView];
        }
我已经提到了西格巴特的问题所在

EachCell是.h、.m、.xib文件的名称和自定义单元格的重用标识符。我只在故事板中插入了tablecell,这样我就可以设置序列了

奇怪的是,它在IOS 6.0中运行,但在IOS 5.1中却没有

这就是我在ios5.1中遇到的错误:

NSInternalInconsistencyException, the Nib data is invalid.

听起来您的自定义单元格Xib文件已启用自动布局。在nib内部,确保自动布局框在其属性中未选中。默认情况下,此框处于选中状态。自动布局是iOS6的一项功能,因此您可能需要调整该单元格的布局


是的,就是这样!如果我还想与ios 5.0兼容,您知道是必须将部署设置为project sdk(ios 6.0),还是应该将其设置为所有sdk?