时间:2021-05-19
下面把searchDisplayController 引起的数组越界处理办法给大家分享如下:
当[searchDisplayController.searchResultsTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone] 时,发送了崩溃
错误提示如下:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'*** First throw call stack:(0 CoreFoundation 0x000000010c6c6c65 __exceptionPreprocess + 1651 libobjc.A.dylib 0x000000010c35fbb7 objc_exception_throw + 452 CoreFoundation 0x000000010c5bd17e -[__NSArrayI objectAtIndex:] + 1903 UIKit 0x000000010d230fd2 -[UITableViewDataSource tableView:indentationLevelForRowAtIndexPath:] + 1064 UIKit 0x000000010cdfb1b9 __53-[UITableView _configureCellForDisplay:forIndexPath:]_block_invoke + 1711查了好久才查到原因: 在错误log中有提示
3 UIKit 0x000000010d230fd2 -[UITableViewDataSource tableView:indentationLevelForRowAtIndexPath:] + 106解决方法:-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{ return 0;}以上代码就是针对searchDisplayController 引起的数组越界处理办法的解决方案,希望对大家有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
因为C语言不检查数组越界,而数组又是我们经常用的数据结构之一,所以程序中经常会遇到数组越界的情况,并且后果轻者读写数据不对,重者程序crash。下面我们来分析一
前言前面一篇文章提到过数组越界行为,虽然编译器为我们做了大量的检查工作让我们避免这些错误。但是我觉得还是有必要模拟一下数组越界,感受一下这个错误。那么对于.NE
下面随笔讲解c++vector对象。vector对象 为什么需要vector?封装任何类型的动态数组,自动创建和删除。数组下标越界检查。封装的如Array
上一篇说了数组的索引,这一篇说下数组的使用。数组的大小js的数组可以动态调整大小,更确切点说,它没有数组越界的概念,a[a.length]没什么问题。比如声明一
一.关于数组的特点1.在Java中,无论使用数组或集合,都有边界检查。如果越界操作就会得到一个RuntimeException异常。2.数组只能保存特定类型。数