Swift 3 按钮的可达性
Swift 3 Reachability From Button
我正在 github 上使用可达性库 here。我想通过单击按钮来检查设备是否在线。我是 Reachability 的新手,所以据我所知,您必须开始监听更改,然后测试连接,然后停止监听。到目前为止,我的按钮操作中有这个,但是当我单击按钮时,没有任何内容打印到控制台。
var reachability: Reachability!
do {
try reachability?.startNotifier()
} catch {
print("Unable to start notifier")
}
reachability?.whenReachable = { reachability in
DispatchQueue.main.async {
if reachability.isReachableViaWiFi {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
}
}
reachability?.whenUnreachable = { reachability in
DispatchQueue.main.async {
print("Not reachable")
}
}
reachability?.stopNotifier()
将 reachability?.stopNotifier()
放在主线程块中
你得到了 nil
因为使用隐式解包可选。
替换,
var reachability: Reachability!
到
let reachability = Reachability()
试试下面,
let reachability = Reachability()
do {
try reachability?.startNotifier()
} catch {
print("Unable to start notifier")
}
if reachability?.isReachable == true{
if reachability?.isReachableViaWiFi == true{
print("Reachable via WiFi")
} else if reachability?.isReachableViaWWAN == true{
print("Reachable via WWAN simulator")
}else{
print("Reachable via Cellular")
}
}else{
print("Not reachable")
}
reachability?.stopNotifier()
我正在 github 上使用可达性库 here。我想通过单击按钮来检查设备是否在线。我是 Reachability 的新手,所以据我所知,您必须开始监听更改,然后测试连接,然后停止监听。到目前为止,我的按钮操作中有这个,但是当我单击按钮时,没有任何内容打印到控制台。
var reachability: Reachability!
do {
try reachability?.startNotifier()
} catch {
print("Unable to start notifier")
}
reachability?.whenReachable = { reachability in
DispatchQueue.main.async {
if reachability.isReachableViaWiFi {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
}
}
reachability?.whenUnreachable = { reachability in
DispatchQueue.main.async {
print("Not reachable")
}
}
reachability?.stopNotifier()
将 reachability?.stopNotifier()
放在主线程块中
你得到了 nil
因为使用隐式解包可选。
替换,
var reachability: Reachability!
到
let reachability = Reachability()
试试下面,
let reachability = Reachability()
do {
try reachability?.startNotifier()
} catch {
print("Unable to start notifier")
}
if reachability?.isReachable == true{
if reachability?.isReachableViaWiFi == true{
print("Reachable via WiFi")
} else if reachability?.isReachableViaWWAN == true{
print("Reachable via WWAN simulator")
}else{
print("Reachable via Cellular")
}
}else{
print("Not reachable")
}
reachability?.stopNotifier()