ios – Swift 3和Xcode8 – 不明确地使用init

ios – Swift 3和Xcode8 – 不明确地使用init,第1张

概述在我安装 Xcode 8并将项目转换为 Swift 3之前,以下行很好.现在转换后它看起来像这样: let valueData:Data = Data(bytes: UnsafePointer<UInt8>(&intVal), count: sizeof(NSInteger)) 它显示错误 Ambiguous use of ‘init’ 它在Swift 3中有什么问题?怎么解决? 从简单值创建数据 在我安装 Xcode 8并将项目转换为 Swift 3之前,以下行很好.现在转换后它看起来像这样:
let valueData:Data = Data(bytes: UnsafePointer<UInt8>(&intVal),count: sizeof(NSInteger))

它显示错误

Ambiguous use of ‘init’

@H_404_9@

它在Swift 3中有什么问题?怎么解决?

解决方法 从简单值创建数据的最简单方法是通过
UnsafeBufferPointer,那么你不需要任何显式的指针转换或大小计算:
var intVal = 1000let data = Data(buffer: UnsafeBufferPointer(start: &intVal,count: 1))print(data as NSData) // <e8030000 00000000>

有关从值到数据转换的更通用方法
并返回,例如参见round trip Swift number types to/from Data.

总结

以上是内存溢出为你收集整理的ios – Swift 3和Xcode8 – 不明确地使用init全部内容,希望文章能够帮你解决ios – Swift 3和Xcode8 – 不明确地使用init所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1108195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存