Ich schreibe eine Datei auf die Festplatte und bin gerade dabei, meinen Code in Swift 3 zu konvertieren, und blieb auf etwas stecken. Wollte sehen, ob mir jemand in die richtige Richtung gehen könnte.Unsichere Bytes in Swift 3
Mein aktueller Codeblock ist:
open let text: NSString
data = possibleData ?? Data()
open let fileURL: URL?
open let fileEncoding: String.Encoding?
fileprivate let data: Data!
text = NSString(bytesNoCopy: UnsafeMutableRawPointer(mutating: data.bytes.bindMemory(to: Void.self, capacity: data.count)), length: data.count, encoding: encoding.rawValue, freeWhenDone: false)!
Swift sagt, dass data.bytes Aufruf nicht verfügbar ist und ich brauche stattdessen .unsafebytes zu verwenden. Ich begreifen nicht, wie Sie aufrufen unsichere Bytes (es ist nicht so einfach, wie Bytes zu unsicheren Bytes schaltend)
Also habe ich ein wenig Forschung und einige Leute haben gesagt, um einen Verschlussblock wie folgt zu verwenden:
data.withUnsafeMutableBytes {(bytes: UnsafeMutablePointer<UInt8>)->Void in
//work with bytes in here
}
Mein Problem ist, was ich in den Schließblock setzen, um meinen obigen Code zu arbeiten? Ich denke, ich vermisse etwas grundsätzlich. Ich kann keine Bytes verwenden, weil es wieder denselben Fehler gibt.
Wer hat irgendwelche Ideen? Vielen Dank!
Mögliche Duplikat [ 'Bytes' ist nicht verfügbar: Verwendung withUnsafeBytes statt] (http://stackoverflow.com/questions/38979575/bytes-is-unavailable-use-withunsafebytes-instead) –
Was sind Sie eigentlich versuchen zu erreichen? Konvertiere eine Zeichenkette in Daten oder umgekehrt? Schreiben Sie eine Zeichenfolge oder Daten in eine Datei? Was ist gegeben und was soll berechnet werden? –
Entschuldigung, es stellte sich heraus, dass dies Teil von "Swiftache" war, einem früheren Entwickler. Ich habe es gerade aktualisiert und mir geht es jetzt gut, danke! – NullHypothesis