gpt4 book ai didi

swift - 弹出 ViewController 后如何检查堆栈顶部的 ViewController 是否是特定的?

转载 作者:行者123 更新时间:2023-11-30 10:35:26 24 4
gpt4 key购买 nike

假设我目前在 BaseViewController 上。我可以从另外 2 个 View Controller (例如 A 和 B)访问这个 View Controller 类。那么,当我弹出 BaseViewController 时,如何检查 A 或 B 是否存在于堆栈顶部?下面是我的代码(在 BaseViewController 内):

func goToAOrBViewController {
// If after popping viewController is A do this
navigationController.popViewController(animated: true)
// Id after popping viewController is B do this
// Instantiate B and push it
}

最佳答案

有很多方法可以做到这一点

第一个也是最简单的方法

    func visibleViewController() -> UIViewController? {
let appDelegate = UIApplication.shared.delegate
if let window = appDelegate!.window {
return window?.visibleViewController
}
return nil
}

func goToAOrBViewController {
// If after popping viewController is A do this
navigationController.popViewController(animated: true)
if visibleViewController() == viewControllerA{
//Do stuff for A
}else{
//Do stuff for B
}
}

第二种明显的方法

    let topController = UIApplication.sharedApplication().keyWindow?.rootViewController
if topController == viewControllerA {
//Do stuff for A
}else{
//Do stuff for B
}

关于swift - 弹出 ViewController 后如何检查堆栈顶部的 ViewController 是否是特定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58162067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com