2015-10-26 52 views
-1

我一直想弄清楚为什么这个错误发生了一段时间 我把tableview在视图控制器中。 将tableview委托和数据源设置为视图控制器。 我已经实现了委托和数据源协议。终止应用程序,由于未捕获的异常“NSRangeException”,原因: - [__ NSArrayM objectAtIndex:]:索引0超出空数组的边界'

我在新鲜的项目中做了近4次相同的场景,它运行良好。当我试图在当前项目中实现这个场景时,我看到了这个错误。

如果我删除设置表视图的委托,那么一切顺利。

它在返回单元格后发生。

可能是什么原因?我无法想象它。我也没有使用阵列。

enter image description here

+0

请出示的全部代码,截图是没有太大的帮助,粘贴所涉及的所有代码。也为什么不使用数组 – meda

+1

用相关代码(粘贴为文本)更新您的问题。指出错误实际发生的地方。 – rmaddy

+0

该错误很可能是由于您的数据源导致的,并且您没有显示该错误。 – Daniel

回答

1

1)使用异常断点......根据上述回答 确定委托方法是否在项目的前面场景中设置。

我用所有的方法如下:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath; 
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath; 
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 
7

尝试增加全异常断点(添加例外断点)调试在异常occures。也许它甚至不在该视图控制器中。 Add Exception Breakpoint

+0

是的,抓到错误, 谢谢!!! –

+0

不客气:) –

相关问题