我尝试使用下面的代码来设置一个回调的SCNetworkReachability
SCNetworkReachabilitySetCallback斯威夫特
// Create callback
let callback:(SCNetworkReachability!, SCNetworkReachabilityFlags, UnsafeMutablePointer<Void>) ->() = { (target: SCNetworkReachability!, flags: SCNetworkReachabilityFlags, info: UnsafeMutablePointer<Void>) in
// Do something
}
// Create UnsafeMutablePointer and initialise with callback
let p = UnsafeMutablePointer<(SCNetworkReachability!, SCNetworkReachabilityFlags, UnsafeMutablePointer<Void>) -> Void>.alloc(1)
p.initialize(callback)
// convert UnsafeMutablePointer to COpaquePointer
let cp = COpaquePointer(p)
// convert COppaquePointer to CFunctionPointer
let fp = CFunctionPointer<(SCNetworkReachability!, SCNetworkReachabilityFlags, UnsafeMutablePointer<Void>) -> Void>(cp)
if SCNetworkReachabilitySetCallback(reachability, fp, nil) != 0 {
println(SCError()) // SCError() is returning 0
}
的SCNetworkReachabilitySetCallback
调用失败 - 任何人都有任何与此成功?任何想法这可能是错误的?
可以请你也分享目标-C代码? – 2017-06-14 05:25:54