下面把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 引起的数组越界处理办法的解决方案,希望对大家有所帮助。
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。