-1

我有一个 splitView 应用程序,我在其中安装了搜索/过滤。

过滤适用于主视图,但我不知道如何设置“didSelectRowAtIndexPath”。似乎 Root 和 Detail 之间的链接丢失了。

我尝试使用以下代码重新连接:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    indexPath = [self.tableView indexPathForSelectedRow];

     if (tableView == self.searchDisplayController.searchResultsTableView)
     {
         self.selectedItem = [self.searchResults objectAtIndex:indexPath];
     }
     else
     {
         self.selectedItem = [self.fetchedResultsController objectAtIndexPath:indexPath];
     }

    detailViewController.item = self.selectedItem;
    [self.detailViewController.tableView reloadData];

但这并没有给我一个 NSRangeException。

如果相反,我使用:

self.selectedItem = [self.searchResults objectAtIndex:indexPath.row];

也不例外,但未捕获详细视图。

我会很感激任何帮助。

4

1 回答 1

2

没有必要(也可能是错误的)打电话

indexPath = [self.tableView indexPathForSelectedRow];

因为选定的行作为参数提供给tableView:didSelectRowAtIndexPath:.

于 2012-11-20T20:36:33.883 回答