indexPathForSelectedRow

indexPathForSelectedRow

我的TVC顶部有一个UISearchBar。如果搜索处于活动状态,它将在普通tableView上方显示另一个tableView(这是正常的)。现在,我需要在prepareForSegue()中获取“ searchTableView”,因为我需要调用:

var newIndexPath = table.indexPathForSelectedRow!


如果您搜索某些内容,此操作将失败。
我也无法在didSelectRowAtIndexPath()中做出决定,因为快速调用了segue,因为它直接“链接”到了UITableViewCell。我还尝试从ViewController创建序列,但这也失败了,因为序列需要再次在同一ViewController上结束。

因此,基本上我想问是否有人知道如何解决上面代码行中的错误,将进行搜索。

最佳答案

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSIndexPath *indexPath;
    if (self.searchDisplayController.active)
    {
        indexPath = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow];
    }
    else
    {
        indexPath = [self.tableView indexPathForSelectedRow];
    }

    // Use the indexPath...
}

07-26 08:04