Swift 2 - UnsafeMutablePointer <Void> para objetar
Se eu tiver um método como:
func someMethod(contextPtr: UnsafeMutablePointer<Void>)
como faço para obter o objeto docontextPtr
?
func someMethod(contextPtr: UnsafeMutablePointer<Void>){
let object:MyObject = contextPtr.memory
}
dá:
'Void' não é conversível em 'MyObject'
Qual é o molho secreto
Mais detalhes:
Na verdade, o que estou fazendo aqui é configurar uma função de retorno de chamada global paraSCNetworkReachability
:
func callback(reachability:SCNetworkReachability, flags: SCNetworkReachabilityFlags, info: UnsafeMutablePointer<Void>) {
let r:Reachability = info.memory
}
e adicionando o retorno de chamada da seguinte maneira:
var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
var s = self
withUnsafeMutablePointer(&s) {
context.info = UnsafeMutablePointer($0)
}
SCNetworkReachabilitySetCallback(reachability, callback, &context)