我有一个可达性类,可以在我的VC代码中检查,如下所示:
func setupReachability (hostName:String?, useClosures: Bool) {
let reachability = hostName == nil ? Reachability() : Reachability(hostname: hostName!)
self.reachability = reachability
try! self.reachability?.startNotifier()
if useClosures {
reachability?.whenReachable = { reachability in
DispatchQueue.main.async {
self.connected = true
print("Reachable....")
}
}
reachability?.whenUnreachable = { reachability in
DispatchQueue.main.async {
self.connected = false
print("Not Connected....")
}
}
} else {
NotificationCenter.default.addObserver(self, selector: Selector(("reachabilityChanged:")), name: ReachabilityChangedNotification, object: reachability)
}
}
这是从viewDidLoad:
中初始化的 setupReachability(hostName: nil, useClosures: true)
print(self.connected)
我遇到的问题是它总是返回false并且我需要加载足够的时间以使它返回true(如果它真的已连接)此时。我正在努力弄清楚在哪里放置我的setupReachability函数并对其进行初始化,以便可以从应用程序的任何位置访问它并返回其连接状态。我已经尝试将它放在一个单独的类中,但似乎无法让它工作或访问连接状态。关于如何实现这一目标的任何提示?