我一直在这个项目上工作了一段时间。一切都很好,今天我升级到XCode 4.6 ...突然间,崩溃。如果没有数据(我在使用核心数据),它会加载一个空白的tableview。只要我尝试添加一些东西在我的其他视图控制器,崩溃。模拟器和我的设备上出现同样的问题。随着“所有异常”断点启用,调试器指向这一行:XCode 4.6 dequeueReusableCellWithIdentifier:forIndexpath:不工作
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。谢谢!
检查故事板中正确设置的标识符 – 2013-02-11 21:48:38
您使用的是什么模拟器版本?这个方法是在iOS 6中引入的,所以如果你使用的是模拟器<6,那么这会失败,就像你看到的那样 – 2013-02-11 21:48:42
你注册了一个NIB或者类的重用标识符吗? – Tommy 2013-02-11 21:49:03