在函数 return 之前等待后台线程完成
Waiting for a background thread to complete before function return
我尝试创建 return 互联网状态为 Bool
:
的函数
func isConnectedToNetwork()->Bool{
var InternetStatus = Bool()
RealReachability.sharedInstance().reachabilityWithBlock { (status:ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
InternetStatus = false
default:
InternetStatus = true
}
}
return InternetStatus
}
但我有一个问题,RealReachability.sharedInstance().reachabilityWithBlock {}
在后台线程中工作,并且在后台线程完成之前运行 return。
如何在函数之前等待后台线程结果return?
别等了,说吧。
使用异步任务完成时调用的完成处理程序
func isConnectedToNetwork(completion:(Bool -> Void)) {
RealReachability.sharedInstance().reachabilityWithBlock { (status:ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
completion(false)
default:
completion(true)
}
}
}
并称之为
isConnectedToNetwork { success in
print(success)
// do something with the success value
}
我尝试创建 return 互联网状态为 Bool
:
func isConnectedToNetwork()->Bool{
var InternetStatus = Bool()
RealReachability.sharedInstance().reachabilityWithBlock { (status:ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
InternetStatus = false
default:
InternetStatus = true
}
}
return InternetStatus
}
但我有一个问题,RealReachability.sharedInstance().reachabilityWithBlock {}
在后台线程中工作,并且在后台线程完成之前运行 return。
如何在函数之前等待后台线程结果return?
别等了,说吧。
使用异步任务完成时调用的完成处理程序
func isConnectedToNetwork(completion:(Bool -> Void)) {
RealReachability.sharedInstance().reachabilityWithBlock { (status:ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
completion(false)
default:
completion(true)
}
}
}
并称之为
isConnectedToNetwork { success in
print(success)
// do something with the success value
}