下面把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 引起的數組越界處理辦法的解決方案,希望對大家有所幫助。