Swift - 如何将popViewControllerAnimated返回两个视图

VAA*_*AAA 1 swift swift2

我有一些UIViewControllers和我的主要故事板UINavigationController.

然后我有一个UIViewController,tableView didSelectRowAtIndexPath我弹出UIViewController:

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!){

        let provider = self.results[indexPath.row]

        self.delegate?.didProviderSelected(provider)
        self.navigationController?.popViewControllerAnimated(true)
    }
Run Code Online (Sandbox Code Playgroud)

这工作正常,因为我回到上一个视图,但我需要返回两个视图.

我怎样才能做到这一点?

lar*_*rva 6

您可以使用 popToViewController(_:animated:)弹出前两个视图:

if let viewControllers = self.navigationController?.viewControllers {
    if viewControllers.count > 3 {
        self.navigationController?.popToViewController(viewControllers[viewControllers.count - 3], animated: true)
    } else {
                // fail
    }
}
Run Code Online (Sandbox Code Playgroud)