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

下面把searchDisplayController 引起的数组越界处理办法给大家分享如下:

当[searchDisplayController.searchResultsTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone] 时,发送了崩溃

错误提示如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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中有提示

1
2
3
4
5
6
7
3  UIKit                0x000000010d230fd2 -[UITableViewDataSource tableView:indentationLevelForRowAtIndexPath:] + 106
解决方法:
-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return 0;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论