我想出了一个我设法解决的问题,但问题是我不明白它是如何修复的,哈哈。任何人都可以帮助教育我吗?
我正在创建一个简单的表视图应用程序,其中包含一组数组,其中字符串使用UILocalizedIndexedCollation
分割成多个部分。我还在tableview的标题中设置了UISearchBar
,用户可以使用它来查找特定的字符串。
当我设置UISearchDisplayController
方法并添加了一堆if语句以将搜索结果拉入表格视图时,它有点奇怪。
这是我的cellForRow:atIndexPath
方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"Simple Cell";
UITableViewCell *cell = nil;
// Get a cell from the table view.
if (tableView == self.searchDisplayController.searchResultsTableView) {
// Grab a cell for the search results
cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
} else {
// Grab a cell for the main table view
cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
}
// Setup and return the cell.
if (tableView == self.tableView) {
cell.textLabel.text = self.sectionsArray[indexPath.section][indexPath.row];
} else {
cell.textLabel.text = self.searchResults[indexPath.row];
}
return cell;
}
这很好用,但是当我更改从self.tableView
获取单元格的部分时:
// Get a cell from the table view.
cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
运行模拟器时出现以下错误:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'请求无效索引路径处的rect({length = 2,path = 0 - 2})'
如果我不明白为什么会发生这种情况,这不是什么大不了的事,但知道这会很好!
感谢您阅读:)