Reachability.swiftを3.0に更新しようとしていて、Reachabilityインスタンスをコールバック関数に渡す際に問題があります。と '> UnsafeMutablePointer < _''UnsafeMutablePointer'タイプのイニシャライザを呼び出せません
タイプの初期化子を呼び出すことはできません:*自己=到達可能性クラスコンパイラが言ってエラーをスロー
var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil) context.info = UnsafeMutablePointer(Unmanaged.passUnretained(self).toOpaque())
注意してください :ここでは
は私の抜粋です '(UnsafeMutableRawPointer)'型の引数リストポインタの変換が制限されています。使用する.assumingMemoryバウンド(to :) 'または ' .bindMemory(to:capacity :) 'をタイプとして表示します。 'UnsafeMutablePointer < _>' の
オーバーロードは、これらの部分的 一致するパラメータリストであります(RawPointer)、(OpaquePointer)、 (OpaquePointer?)、(UnsafeMutablePointer)、 (UnsafeMutablePointer?)
私が理解しているのは、タイプopen class Reachability: NSObject
の自己をUnsafeMutablPointerに変換する必要がありますが、進める方法がわかりません。
で ガードlet info = info else {return} let reachability = Unmanaged .fromOpaque( "到達可能性:SCNetworkReachability、フラグ:SCNetworkReachabilityFlags、info:UnsafeMutableRawPointer? (情報).takeUnretainedValue() DispatchQueue.main.async { reachability.reachabilityChanged() } } –
https://www.dropbox.com/s/d6uc8z8kij1zmmf/Reachability%20Swift%203.zip?dl=1 –
@LeoDabusありがとうございました! –