Sto provando a verificare se l'utente ha una connessione Internet e parte del processo prevede il richiamo di withUnsafePointer
. In 1.x Swift, sono stato in grado di utilizzare:withUnsafePointer in Swift 2
var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(&zeroAddress){
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)).takeRetainedValue()
}
Ma ora, con Swift 2, sto ricevendo un errore che dice
non può invocare 'withUnsafePointer' con una lista di argomenti di tipo ' (inout sockaddr_in, (_) -> _)'
ho guardato l'utilizzo di Xcode, che è:
Così ho provato ad utilizzare
withUnsafePointer(&zeroAddress) {(pointer: UnsafePointer<sockaddr_in>) -> sockaddr_in in
SCNetworkReachabilityCreateWithAddress(nil, pointer).takeRetainedValue()
}
così come
withUnsafePointer(&zeroAddress) {(pointer: UnsafePointer<sockaddr_in>) -> AnyObject in
SCNetworkReachabilityCreateWithAddress(nil, pointer).takeRetainedValue()
}
Ed entrambi invia un errore di cannot invoke...
in fase di compilazione. Qual è il modo corretto di utilizzare withUnsafePointer
in Swift 2.x?
Molto meglio ora .. – Berik