带序列图像板标识符的dequeueReusableCellWithIdentifier上的UITableView错误访问崩溃(iOS5)

带序列图像板标识符的dequeueReusableCellWithIdentifier上的UITableView错误访问崩溃(iOS5),ios,objective-c,uitableview,storyboard,Ios,Objective C,Uitableview,Storyboard,我在制作的一个新应用程序中使用了故事板,在我的大多数视图控制器中都有一个tableview,它们的设置几乎完全相同;对于一个原型单元,一个唯一的单元标识符,所有的UI方面都几乎相同。委托和数据源都已正确连接。该应用程序在iOS6和最新的iOS7测试版上完美运行,问题是有2个视图控制器在iOS5下崩溃 调用dequeueReusableCellWithIdentifier时,以下委托方法中会发生崩溃(访问错误) - (UITableViewCell *)tableView:(UITableView

我在制作的一个新应用程序中使用了故事板,在我的大多数视图控制器中都有一个tableview,它们的设置几乎完全相同;对于一个原型单元,一个唯一的单元标识符,所有的UI方面都几乎相同。委托和数据源都已正确连接。该应用程序在iOS6和最新的iOS7测试版上完美运行,问题是有2个视图控制器在iOS5下崩溃

调用
dequeueReusableCellWithIdentifier
时,以下委托方法中会发生崩溃(访问错误)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MoreCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...

    // Rest of code snipped ...

}
错误消息各不相同,从完全没有到以下任一种:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UITableViewReorderingSupport removeFromSuperview]: unrecognized selector sent to instance 0x2a3e20'

还有第三个错误涉及到
NSInvocation removeFromSuperview
,但我不再得到这个错误

我在故事板的笔尖上看不到任何明显的问题。正如我之前所说的,它们的配置几乎完全相同,因此这种崩溃只发生在某些视图控制器上是没有意义的。我也没有勾选自动布局,所以这不是问题

如果我用老式的方式(故事板前)创建单元,它工作得很好。但我不想这么做,我也不应该这么做,因为我不想使用故事板

if (cell==nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    cell.textLabel.textColor = [UIColor colorWithRed:(100/255.0f) green:(150/255.0f) blue:(50/255.0f) alpha:1.0];
    cell.textLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:17.0];
    cell.detailTextLabel.textColor = [UIColor colorWithRed:(85/255.0f) green:(85/255.0f) blue:(85/255.0f) alpha:1.0];
    cell.detailTextLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:15.0];
}
如果我注释掉前面的
dequeueReusableCellWithIdentifier
行,上述方法就可以了

看来问题一定出在故事板上,但当我将它与工作正常的ViewController进行比较时,我看不出有什么问题

更新:

在发布这个问题后,我删除了一个有问题的ViewController,并重新添加了它。在这样做的过程中,我找到了问题的根本原因-将视图连接到单元格的
selectedBackgroundView
。这个确切的视图在我的应用程序中的其他表中使用得很好,但在这个特定的表中,它会导致如上所述的崩溃,我完全不知道为什么。我没有任何代码来修改它。它只是连接在笔尖上,就这样


我可以通过在代码中创建selectedBackgroundView来解决这个问题,但我仍然不明白这有什么不同。

你说你在其他地方使用过这个。如果您从其他单元格复制了GUI元素,那么您可能忘记删除复制的插座连接器。通过逐个选择元素进行检查,并检查Connections Inspector中显示的内容。

这正是发生在我身上的事情。当我将tableview中的原型单元格数量增加到3时,它复制了其中一个已经存在的单元格。正如你所说,有一个出口不见了。谢谢
if (cell==nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    cell.textLabel.textColor = [UIColor colorWithRed:(100/255.0f) green:(150/255.0f) blue:(50/255.0f) alpha:1.0];
    cell.textLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:17.0];
    cell.detailTextLabel.textColor = [UIColor colorWithRed:(85/255.0f) green:(85/255.0f) blue:(85/255.0f) alpha:1.0];
    cell.detailTextLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:15.0];
}