tonymillion 在连接更改之前,可达性不起作用

tonymillion Reachability doesn't work until a connection change

这是我的代码:

    self.reachability = Reachability.reachabilityForInternetConnection()
    self.reachability.reachableBlock = {
        (let reach: Reachability!) -> Void in
        dispatch_async(dispatch_get_main_queue()) {
            print(true)
        }
    }
    self.reachability.unreachableBlock = {
        (let reach: Reachability!) -> Void in
        dispatch_async(dispatch_get_main_queue()) {
            print(false)
        }
    }
    self.reachability.startNotifier()

我在 viewDidAppear 中调用了它,但没有任何反应。但是,当我将 iPhone 设置为飞行模式时,立即打印 false 。当我关闭飞行模式时,还打印了true

我需要的是检查网络可用性而不是更改。问题出在哪里?

块是运行当可达性状态改变时,如果你需要检查当前的可达性状态而不是等待改变那么你可以这样做:

if self.reachability.isReachable() {
    // reachable
} else {
    // not reachable
}