1

我想出了一个我设法解决的问题,但问题是我不明白它是如何解决的,哈哈。谁能帮忙教育一下?

我正在制作一个简单的表格视图应用程序,其中包含一组数组,其中字符串使用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”

如果我不明白为什么会发生这种情况,这没什么大不了的,但很高兴知道!

感谢您阅读本文:)

4

0 回答 0