Ich versuche, diesen Code aus dem Bereich Dokumentation zu verwenden:Wie verwenden Sie Data.withUnsafeMutbleBytes in Swift 3?
var key = Data(count: 64)
_ = key.withUnsafeMutableBytes { bytes in
SecRandomCopyBytes(kSecRandomDefault, 64, bytes)
}
Auf seinem eigenen, wird dies kompilieren. Doch als withUnsafeMutableBytes vervollständigt mit einem Verschluss, statt diese Art von Code Fluss:
var key = Data(count: 64)
_ = key.withUnsafeMutableBytes { bytes in
SecRandomCopyBytes(kSecRandomDefault, 64, bytes)
}
// do something using the encryption key
Ich will es, dies zu ändern:
var key = Data(count: 64)
_ = key.withUnsafeMutableBytes { bytes in
SecRandomCopyBytes(kSecRandomDefault, 64, bytes)
// do something using the encryption key
}
Aber ich kann einfach nichts anderes zur Schließung hinzuzufügen, ohne Start zu erhalten Fehler, zum Beispiel ist es nicht möglich, einfach fügen Sie einfach eine print-Anweisung:
var key = Data(count: 64)
_ = key.withUnsafeMutableBytes { bytes in
SecRandomCopyBytes(kSecRandomDefault, 64, bytes)
print("WTF!")
}
diesen Fehler geben:
Wenn ich versuche, den von _, dann wird sie diesen Fehler loszuwerden:
ich diesen Thread https://forums.developer.apple.com/thread/51439
Aber nach dem Versuch gefunden, was in diesem Thread ist, die doesn 't Kompilieren tatsächlich kompilieren, und so nach dem Anwenden von XCode Autokorrekturen, habe ich nur mit einem Fehler nach dem anderen nach dem anderen nach dem anderen und es macht mich verrückt.
Es gibt ein Problem, dass 'SecRandomCopyBytes' fehlschlagen kann, für die überprüft werden muss. – zaph
Hinweis: Die Frage hier scheint zu sein, wie Anweisungen innerhalb der Schließung hinzugefügt werden. – zaph
@zaph Und das Duplikat, auf das ich zeigte, zeigte wie. Jetzt muss ich wiederholen, was das Duplikat schon sagt, was den ganzen Punkt vermeidet, als Duplikat markieren zu können. – matt