【发布时间】:2023-01-03 16:19:42
【问题描述】:
我正在使用NWPathMonitor检查互联网变化的类。但是我在使用它时遇到了问题。问题是当互联网关闭时,一旦它回来,监视器.pathUpdateHandler被调用/通知两次。在互联网关闭的情况下,它只被调用一次。那么,我在这里做错了什么?
下面是我的代码
final class NetworkMonitor {
static let shared = NetworkMonitor()
private let queue = DispatchQueue.global(qos: .background)
private let monitor: NWPathMonitor
private(set) var isConnected = false
private(set) var isExpensive = false
private(set) var currentConnectionType: NWInterface.InterfaceType?
private init() {
monitor = NWPathMonitor()
}
func startMonitoring() {
monitor.pathUpdateHandler = { [weak self] path in
self?.isExpensive = path.isExpensive
self?.currentConnectionType = NWInterface.InterfaceType.allCases.filter { path.usesInterfaceType($0) }.first
NotificationCenter.default.post(name: .connectivityStatus, object: nil)
}
monitor.start(queue: queue)
}
func stopMonitoring() {
monitor.cancel()
}
}
【问题讨论】:
标签: ios swift reachability nwpathmonitor