Ios 搜索后打开控制器视图两次
我试图理解控制器之间的数据传递。我正在显示一个带有搜索和导航栏的tableview。当我选择其中一行时,它会打开另一个包含详细信息的控制器视图。但是,如果我在搜索后选择,它会打开相同的详细控制器视图两次 这是我的行选择代码Ios 搜索后打开控制器视图两次,ios,Ios,我试图理解控制器之间的数据传递。我正在显示一个带有搜索和导航栏的tableview。当我选择其中一行时,它会打开另一个包含详细信息的控制器视图。但是,如果我在搜索后选择,它会打开相同的详细控制器视图两次 这是我的行选择代码 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (tableView == self.searchDisplayControl
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
[self performSegueWithIdentifier: @"showRecipeDetail" sender: self];
}
}
可能是什么问题?如果您有关于单元格选择的
segue
,则不应写入
if(tableView==self.searchDisplayController.searchResultsTableView){
[self-PerformsgueWithIdentifier:@“ShowRecipedDetail”发件人:self];
}
如果需要推送differenceVC
,则应将segue从VC添加到VC,而不是从UITableViewCell
。
和使用:
你在:-(作废)准备工作中做过什么吗?(UIStoryboardSegue*)segue sender:(id)sender?嗯,我知道了。我做了一个关于细胞选择的赛格。当我删除disSelect功能时,它起作用了。当我调用此函数时,是否调用segue 2次?@AhmetTanakol,如果您调用[self-PerformsgueWithIdentifier:@“ShowRecipedDetail”发送方:self];在
DidSelectRow
中,您可以调用segue两次。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
[self performSegueWithIdentifier: @"showRecipeDetail" sender: self];
}
else
{
[self performSegueWithIdentifier: @"showDifferentVC" sender: self];
}
}