* Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘ -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]’ ** First throw call stack: (0x3693b2a3 0x3443b97f 0x36886b75 0x18e391 0x36367275 0x363e9ea9 0x38a09a6f 0x369105df 0x36910291 0x3690ef01 0x36881ebd 0x36881d49 0x345372eb 0x362f9301 0x95d55 0x95c50) libc++abi.dylib: terminate called throwing an exception
在一个项目里,UI部分是UITableView,经常出现上述错误,一般都是由于 :indexPath.row查找不到数据导致的问题
解决办法:
举例说明:具体解决办法看需求
如下需求是:请求数据最多不超多三条
如果是直接:return 3 ; 便会出现如上述错误,由于第一次视图在布局的时候数据还未请求返回的:ListArray.count = 0;得到数据后为:ListArray.count。
因此首先需要判断是否返回数据为零条,或者小于三条。
若是有多少条数据返回多少直接:return ListArray.count ;
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0) {
return 3;
}else{
if (_ListArray.count != 0) {
if (_ListArray.count > 3){
return 3;
}else{
return _ListArray.count;
}
}else {
return 0;
}
}
}