Я пытаюсь использовать следующий код для установки обратного вызова для SCNetworkReachability
SCNetworkReachabilitySetCallback неудачи в Swift
// 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 также? –