在桌面目标c的搜索栏上输入文本时,应用程序崩溃

时间:2016-12-01 12:09:32

标签: ios objective-c uitableview uisearchresultscontroller

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
if (tableView == self.searchDisplayController.searchResultsTableView) {
   return searchResults.count; 
} else { 
    return self.countOfLocArr.count;
} 
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    AtmLocationTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; 
    if(!cell) { 
        AtmLocationTableViewCell *cell = [[AtmLocationTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    } 
    NSMutableDictionary *locDictionary; 
    if(tableView == self.searchDisplayController.searchResultsTableView) {
     locDictionary = searchResults[indexPath.row];
    }else{ } 
    cell.placeName.text = locDictionary[@"name"]; 
    return cell;
    }

获取错误

  

*断言失败 - [UISearchResultsTableView _configureCellForDisplay:forIndexPath:],/ BuildRoot / Library / Cache / com.apple.xbs / Source / UIKit / UIKit-3512.60.7 / UITableView.m:7971   2016-12-01 18:21:04.096 Mobee [6459:2145589] * 终止应用程序   未捕获的异常'NSInternalInconsistencyException',原因:   'UITableView(; layer =; contentOffset:   {0,0}; contentSize:{320,396}>)无法从中获取单元格   数据源 ()'   ***首先抛出调用堆栈:(0x20fb9b8b 0x20776dff 0x20fb9a61 0x217a072b 0x256d64a3 0x258d3cb9 0x258d3d91 0x258c326d 0x256673bd   0x2579129f 0x256ec46d 0x257923e3 0x257920bb 0x25791f2d 0x255c2521   0x255c24b1 0x255aa3eb 0x25791c75 0x255ccd9f 0x25760b5b 0x2575feed   0x258e967f 0x25ea5f73 0x2575fc53 0x2598e135 0x2598dd5f 0x255b5355   0x217e6867 0x20f7ba67 0x20f7b657 0x20f799bf 0x20ec8289 0x20ec807d   0x224e4af9 0x255f32c5 0xde303 0x20b74873)libc ++ abi.dylib:终止   带有NSException类型的未捕获异常

2 个答案:

答案 0 :(得分:0)

检查一下:

1)从tableView返回一个大于数组计数的数字:numberOfRowsInSection:。唐'吨

2)你的一个或多个单元格出口没有连接到你的笔尖,或者没有连接到UITableViewCell(或子类)。把它们搞好。

请参阅更多:https://stackoverflow.com/a/14192093/3901620

答案 1 :(得分:0)

cellForRowAtIndexPath可能会返回nil

检查以下内容:Assertion Failure 1Assertion Failure 2Assertion Failure 3