iOS开发成长之路

UITableView刷新奔溃

2016-09-09  本文已影响159人  CoderFM

刷着刷着怎么就奔溃了呢

是因为当你第一次下拉的时候, 数组被清空, 网络请求肯定是异步的, 并不能保证什么时候数据能回来, 解析数据, 刷新tableView的时候 恰好, 又刷新了一次数据, 把数组清空, 但是tableView此时正在刷新数据, 需要从数组里取得行对应的数据模型, 数组已被清空, 导致的数组越界的奔溃

一开始遇到这个问题, 很懵逼, 这个怎么去控制, 即使加了一层加载中的提示覆盖, 手续快的人 还是会奔溃, 虽然概率比较小, 但是这个问题程序能解决的, 肯定要避免

说说解决的办法吧
就是在取模型的时候, 一定要判断是否能取出来,可以取出来, 才能去取出来, 赋值给Cell 一行代码:

if  (indexPath.row < self.item.count){
      在这里取模型才是安全的
}

上面只是演示了取行模型, 对应的组模型也是一个道理
武功再高, 也有可能忘记, 切记切记

上一篇 下一篇

猜你喜欢

热点阅读