我需要一个仅在系统检测到没有互联网连接时运行的功能,然后另一个在系统检测到互联网连接时运行的功能。
我在想这样的事情:
func onInternetConnection() {
//Enable actions
}
func onInternetDisconnection() {
//Disable actions, alert user
}
我还需要一种方法来检测系统何时重新连接,以便像在Facebook的Messenger中一样让用户知道它正在重新连接。
我怎样才能做到这一点?
我在网络层上使用Moya/Alamofire。
最佳答案
这在Alamofire的情况下有效
import Alamofire
// In your view did load or in app delegate do like this
let reachabilityManager = NetworkReachabilityManager()
reachabilityManager.listener = { status in
switch status {
case .notReachable:
print("The network is not reachable")
self.onInternetDisconnection()
case .unknown :
print("It is unknown whether the network is reachable")
self.onInternetDisconnection() // not sure what to do for this case
case .reachable(.ethernetOrWiFi):
print("The network is reachable over the WiFi connection")
self.onInternetConnection()
case .reachable(.wwan):
print("The network is reachable over the WWAN connection")
self.onInternetConnection()
}
}
关于ios - 如何在iOS上以委托(delegate)人风格检测互联网连接的变化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43866298/