次のような方法がある場合:
func someMethod(contextPtr: UnsafeMutablePointer<Void>)
からオブジェクトを取得するにはどうすればよいcontextPtr
ですか?
func someMethod(contextPtr: UnsafeMutablePointer<Void>){
let object:MyObject = contextPtr.memory
}
与えます:
「Void」は「MyObject」に変換できません
秘伝のタレとは
もっと詳しく:
ここで実際に行っているのは、 のグローバル コールバック関数を設定することですSCNetworkReachability
。
func callback(reachability:SCNetworkReachability, flags: SCNetworkReachabilityFlags, info: UnsafeMutablePointer<Void>) {
let r:Reachability = info.memory
}
次に、次のようにコールバックを追加します。
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)