[Swift]如何从Data中取出bytes
2018-06-14 本文已影响0人
AnnieAri
在OC中使用OutStream存储文件时,write方法是这样的:
///无需转换
[self.outputStream write:data.bytes maxLength:data.length];
在Swift中使用OutStream存储文件时,write方法是这样的:
open func write(_ buffer: UnsafePointer<UInt8>, maxLength len: Int) -> Int
如何从data中取出bytes并转换成UnsafePointer<UInt8>:
///使用(data as NSData).bytes 并不优雅 毕竟要尽量脱离OC的框架
///data是结构体 使用[UInt8]构造方法得到data的byte数组
let bytes = [UInt8](data)
///使用UnsafePointer<UInt8>构造方法生成指针
outputStream?.write(UnsafePointer<UInt8>(bytes), maxLength: bytes.count)
然后就ok了