我有问题。
我有一个tableView和searchController
当我搜索" C"时,我得到两个名称标题为" C"的数据。
但是当我按下单元格时,detailView会为我提供错误的信息。
NSArray *searchResult;
UISearchController *mysearchController;
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"getDetail"]) {
if (searchResult != nil) {
DetailViewController *detailViewController = segue.destinationViewController;
NSIndexPath *indexPath = [searchResult..............];
NSDictionary *item = searchResult[indexPath.row];
detailViewController.detailName = item[@"name"];
detailViewController.detailLocation = item[@"address"];
}else{
DetailViewController *detailViewController = segue.destinationViewController;
NSIndexPath *indexPath = self.listTableView.indexPathForSelectedRow;
NSDictionary *item = self.InfoArray[indexPath.row];
detailViewController.detailName = item[@"name"];
detailViewController.detailLocation = item[@"address"];
}
}
}
谢谢!
答案 0 :(得分:2)
您需要使用didSelectRowAtIndexPath
的{{1}} delegate
方法传递Indexpath。
所以你的代码看起来像这样,
示例代码:
UITableview
希望它有效:)
如果有任何问题,请告诉我。