[Swift]如何从Data中取出bytes

在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了

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    爱运动爱学习阅读 15,729评论 3 114
  • 嗯哼嗯哼蹦擦擦~~~ 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 ...
    philiha阅读 4,077评论 0 5
  • K老师,两年前空降到我们公司一个重要的职能部门担任一把手,今年春节回来年却“被调到”一线部门当培训老师,她的这一调...
    乐意乐读阅读 592评论 2 8
  • 與他分手後沒見過面也忘不了他,大概壹佰六十多天不習慣自己一個人去找新生活,後來遇到了cy。感覺這個人看上去很舒服挺...
    過分阅读 167评论 0 0