gpt4 book ai didi

ios - 如何使用 afnetworking 2.0 的可达性在互联网消失后立即向用户显示消息

转载 作者:行者123 更新时间:2023-11-29 02:32:26 25 4
gpt4 key购买 nike

我在 AppDelegate 的应用程序 didFinishLaunchingWithOptions 中有这个。代码被调用以显示警报 Controller ,但没有任何反应。

AFNetworkReachabilityManager.sharedManager().startMonitoring()
AFNetworkReachabilityManager.sharedManager().setReachabilityStatusChangeBlock{(status: AFNetworkReachabilityStatus?) in
switch status!.hashValue{
case AFNetworkReachabilityStatus.NotReachable.hashValue:
println("Not reachable")
let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Button", style: UIAlertActionStyle.Default, handler: nil))
AppDelegate.sharedInstance.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)
case AFNetworkReachabilityStatus.ReachableViaWiFi.hashValue , AFNetworkReachabilityStatus.ReachableViaWWAN.hashValue :
println("Reachable")
println(AppDelegate.sharedInstance.description)
default:
println("Unknown status")
}
}

我的 AppDelegate 中也有这个类。

class var sharedInstance: AppDelegate {
struct Static {
static let instance = AppDelegate()
}
return Static.instance
}

最佳答案

一开始没有注意到 AppDelegate.sharedInstance 位。这不是您访问应用程序委托(delegate)的方式 - 您需要由运行整个应用程序的 UIApplication 创建的委托(delegate)。您的代码应该是:

AFNetworkReachabilityManager.sharedManager().startMonitoring()
AFNetworkReachabilityManager.sharedManager().setReachabilityStatusChangeBlock{
(status: AFNetworkReachabilityStatus?) in

switch status!.hashValue {
case AFNetworkReachabilityStatus.NotReachable.hashValue:
println("Not reachable")
let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Button", style: UIAlertActionStyle.Default, handler: nil))
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
appDelegate.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)

case AFNetworkReachabilityStatus.ReachableViaWiFi.hashValue, AFNetworkReachabilityStatus.ReachableViaWWAN.hashValue :
println("Reachable")
println(AppDelegate.sharedInstance.description)

default:
println("Unknown status")
}
}

关于ios - 如何使用 afnetworking 2.0 的可达性在互联网消失后立即向用户显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26716599/

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