搜索后打开控制器视图两次

时间:2015-02-20 08:04:54

标签: ios

我试图理解控制器之间的传递数据。我正在显示带有搜索和导航栏的桌面视图。当我选择其中一行时,它会打开另一个带有详细信息的控制器视图。但是,如果我在搜索后选择,它会打开相同的详细控制器视图两次。

enter image description here enter image description here

这是我的行选择代码

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
    [self performSegueWithIdentifier: @"showRecipeDetail" sender: self];
}


 }

问题可能是什么?

1 个答案:

答案 0 :(得分:1)

如果您对单元格选择segue,则不应该写 if (tableView == self.searchDisplayController.searchResultsTableView) { [self performSegueWithIdentifier: @"showRecipeDetail" sender: self]; }

如果您需要推送差异VC,您应该将VC从VC添加到VC,而不是UITableViewCell。 并使用:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
    [self performSegueWithIdentifier: @"showRecipeDetail" sender: self];
}
else
{
    [self performSegueWithIdentifier: @"showDifferentVC" sender: self];
}

 }