我想出了一个我设法解决的问题,但问题是我不明白它是如何解决的,哈哈。谁能帮忙教育一下?
我正在制作一个简单的表格视图应用程序,其中包含一组数组,其中字符串使用UILocalizedIndexedCollation
. 我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”而终止应用程序,原因:“在无效索引路径 ({length = 2, path = 0 - 2}) 处请求 rect”
如果我不明白为什么会发生这种情况,这没什么大不了的,但很高兴知道!
感谢您阅读本文:)