テーブルビューを検索するためにfilterContentForSearchTextを使用しています。検索はうまく機能しますが、行を選択すると、その行の ID が目的のビュー コントローラーに送信されます。検索を行うと、検索前の行の ID が送信されます。問題が何であるかは正確に理解していますが、それを修正する方法がわかりません。これは私がこれまでに持っているものです:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@", searchText];
searchResults = [[projectArray valueForKey:@"clientName"] filteredArrayUsingPredicate:resultPredicate];
}
と
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"CategorySegue"]) {
TimeCategoryViewController *dvc = [segue destinationViewController];
if ([self.searchDisplayController isActive]) {
NSIndexPath *path = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow];
NSNumber *pid = [[projectArray objectAtIndex:path.row] valueForKey:@"pid"];
dvc.selectedProject = [searchResults objectAtIndex:pid];
} else {
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
NSNumber *pid = [[projectArray objectAtIndex:path.row] valueForKey:@"pid"];
dvc.selectedProject = pid;
}
}
ID を検索結果に追加して dvc に渡す簡単な方法はありますか?