iOS - *** Terminating app due to uncaught exception 'NSRangeException&am

* 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;

        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值