私はスウィフト2.2で書かれた次のコードを持っている:Swift 3でUnsafeMutablePointerを使用するには?
let keyData = NSMutableData(length: 64)!
SecRandomCopyBytes(kSecRandomDefault, 64, UnsafeMutablePointer<UInt8>(keyData.mutableBytes))
XCodeの8つのハイライトその二行目をして
が 引数リストで「_> UnsafeMutablePointer <」タイプのための初期化子を呼び出すことはできませんと主張していますタイプ '(UnsafeMutableRawPointer)'
私にこのことを伝えていただきありがとうございますが、私は非常にUnsafeMutablを変更する方法を理解していませんeRawPointerを受け入れる。
誰もこのコードをSwift 3に変換する方法を知っていますか?私はあなたがスウィフト3.
var keyData = Data(count: 64)
let result = keyData.withUnsafeMutableBytes {mutableBytes in
SecRandomCopyBytes(kSecRandomDefault, keyData.count, mutableBytes)
}
withUnsafeMutableBytes(_:)
にData
はなくNSData
で作業することをお勧めします
私もこの問題に遭遇しました。あなたはまだ解決策を見つけましたか? –
重複を避けるために、これは私の質問です、あなたと非常によく似ています。誰かが自分の質問に答えてくれることを願っています。 'タイプ 'UnsafePointer <_>'の初期化子を '(UnsafeMutableRawPointer?)'のタイプの引数リストで呼び出すことはできません。 –
OOperの答え以外はありません。 NSMutableDataを使用する必要がありますか? – AppreciateIt