searchDisplayController 引起的数组越界处理办法

下面把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 + 165

1  libobjc.A.dylib           0x000000010c35fbb7 objc_exception_throw + 45

2  CoreFoundation           0x000000010c5bd17e -[__NSArrayI objectAtIndex:] + 190

3  UIKit                0x000000010d230fd2 -[UITableViewDataSource tableView:indentationLevelForRowAtIndexPath:] + 106

4  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 引起的数组越界处理办法的解决方案,希望对大家有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。