我想获取之前的viewController
。
当我从 navigation
菜单中选择任何行时,我有 2 个 UIViewControllers
和 navigationMenu
我想从打开菜单的位置获取 UIViewController 以移动到第二个 UIViewController
。
我想知道在这种情况下如何获取以前的 UIViewController
我试过了,但计数返回 nil
:
let n: Int! = self.navigationController?.viewControllers.count
print(n)
let myUIViewController = self.navigationController?.viewControllers[n-2] as! UIViewController
编辑:-
打开菜单代码
let menuButton = UIBarButtonItem.init(title :"open", style: .plain, target: self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)))
navigationItem.leftBarButtonItem = menuButton
最佳答案
这是获取之前的viewController
的方法,查看注释解释:
// get all the viewControllers to start with
if let controllers = self.navigationController?.viewControllers {
// iterate through all the viewControllers
for (index, controller) in controllers.enumerated() {
// when you find your current viewController
if controller == self {
// then you can get index - 1 in the viewControllers array to get the previous one
let myUIViewController = controllers[index-1]
print(controllers[index-1])
}
}
}
关于ios - 快速获取以前的 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604182/