代码之前好使的,但是在更新的时候,不知道改了啥,点击播放视频就会报错,废话不多说,现在开始–排查:
Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSDictionaryI objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x15f762920’
这是报错提示,程序捕获异常,字典的下标使用什么云云的
但是字典怎么可能有下标呢,所以就可以推断那个地方的数组和字典弄错了,最后定位发现是这样的情况:
NSArray *handleArr = [VideoDataHandle sharedInstance].dataSource[_classIndex];
cell.videoTitle.text = handleArr[indexPath.row][@"title"];
cell.videoImage.image = [UIImage imageNamed:handleArr[indexPath.row][@"image"]];
dataSource是一个一维数组里面存放字典(之前是一个二维的数组,修改了数据源忘记了在这改了),利用下标取出来的是字典,而不是数组
所以,cell.videoTitle.text = handleArr[indexPath.row][@”title”];里面利用indexPath.row下标取值是不对的,这就是报错信息里面提到的字典下标取值的问题。
总结
自己没有定位出这个错误,是找朋友定位出的,遇到这个种情况就得一步步的找,一定要有耐心