我正在将文件写入磁盘,现在想将我的代码转换为Swift 3,但卡在了某个问题上。希望有人能给我指点方向。
目前的代码块如下:
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表示调用data.bytes不可用,我需要使用.unsafebytes。我不明白如何调用unsafe bytes(它并不像将bytes切换为unsafe bytes那么简单)。
因此,我进行了一些研究,有些人建议使用这样的闭包块:
data.withUnsafeMutableBytes {(bytes: UnsafeMutablePointer<UInt8>)->Void in
//work with bytes in here
}
我的问题是,在闭包块内放什么来使上述代码工作?我认为我缺少了某些基础知识。我不能使用字节,因为它会再次出现相同的错误。
有人有任何想法吗?谢谢!