gpt4 book ai didi

ios - 在 App delegate swift 中获取 UIVIewController 的名称

转载 作者:行者123 更新时间:2023-11-28 14:40:15 25 4
gpt4 key购买 nike

目前我实现了 Reachability is AppDelegate.swift 文件。这是我确定何时连接或断开互联网的代码

@objc func reachabilityChanged(note: Notification) {
let reachability = note.object as! Reachability
if (reachability.connection != .none) {
}
else
{
currentView()
}

}

此代码可以很好地检测互联网是否已连接或断开。现在,如果互联网断开连接,我想知道我当前在 navigationController 中的哪个 viewController,我想修改该 viewController 的 UI 以通知用户互联网已断开连接。我正在尝试使用以下代码在我的 navigationStack 中获取当前 viewController,但它不起作用

if let window = UIApplication.shared.delegate?.window {
if var viewController = window?.rootViewController {
// handle navigation controllers
if(viewController is UINavigationController){
viewController = (viewController as! UINavigationController).visibleViewController!
}
print (viewController)
}
}

最佳答案

我建议您使用 NotificationCenter 并向观察者发送通知,以便在他们的 View 在屏幕上时执行您想要的操作。让您的 VC 成为观察者并在发送通知时实现选择器。

如果您不知道如何检查 View 是否在屏幕上,请检查这个答案: How to tell if UIViewController's view is visible

关于ios - 在 App delegate swift 中获取 UIVIewController 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573914/

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