在我安装
Xcode 8并将项目转换为
Swift 3之前,以下行很好.现在转换后它看起来像这样:
let valueData:Data = Data(bytes: UnsafePointer<UInt8>(&intVal),count: sizeof(NSInteger))
Ambiguous use of ‘init’
它在Swift 3中有什么问题?怎么解决?
解决方法
从简单值创建数据的最简单方法是通过
UnsafeBufferPointer,那么你不需要任何显式的指针转换或大小计算:
UnsafeBufferPointer,那么你不需要任何显式的指针转换或大小计算:
var intVal = 1000 let data = Data(buffer: UnsafeBufferPointer(start: &intVal,count: 1)) print(data as NSData) // <e8030000 00000000>
有关从值到数据转换的更通用方法
并返回,例如参见round trip Swift number types to/from Data.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。