0

我已经在这个项目上工作了一段时间。一切都很好,今天我升级到 XCode 4.6……突然,崩溃了。如果没有数据(我使用的是 Core Data),它将加载一个空白的 tableview。一旦我尝试在我的另一个视图控制器中添加一些东西,就会崩溃。模拟器和我的设备上的同样问题。启用“所有异常”断点后,调试器将指向这一行:

    ReedCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

我得到“UITableview:无法识别的选择器...”作为例外。我的类绝对是 UITableViewController 的子类,因此应该有一个 tableView,不是吗?当我将以下测试代码放入 ViewDidLoad 时,我没有得到确认。换句话说,我的 tableView 不再响应该方法。有没有搞错?如果它已被弃用,我看不到任何文档。

if ([self.tableview respondsToSelector:@selector(dequeueReusableCellWithIdentifier:forIndexPath:)]) {
    NSLog(@"RTVC responds to selector dequeueReusableCellWithIdentifier:forIndexPath:");
}

我已经完成清理,从模拟器中删除它,检查故事板中的视图控制器是否仍然是正确的类(它是)。我还尝试将消息发送到“self.tableview”而不是“tableview”。没有修复。同样,这工作正常,我没有改变任何东西,只是升级到 4.6。谢谢!

4

1 回答 1

1

此方法是在 iOS 6 中添加的。因此它不会存在于较旧的模拟器中。

您可以通过查看文档UITableView来了解何时引入方法

可用性
适用于 iOS 6.0 及更高版本。

于 2013-02-11T21:51:34.713 回答