-1

検索/フィルタリングをインストールしたsplitViewアプリがあります。

フィルタリングはマスタービューで機能しますが、「didSelectRowAtIndexPath」の設定方法がわかりません。ルートと詳細の間のリンクが失われているようです。

このコードを使用して再接続しようとしました:

- (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 に答える