我试图在swift 3中运行以下代码
var values = [UInt8](count:data!.length, repeatedValue:0)
data!.getBytes(&values, length:data!.length)
其中数据为'数据'数据类型(NSData根据swift 3指南更改为'数据')
我无法在Swift 3中运行上面的代码。编译器给出错误“参数重复值必须在参数之前”。同样的代码行在Swift 2.2中工作
解决方案是什么?
答案 0 :(得分:33)
对于Swift3,只需使用以下内容:
let array = [UInt8](yourDataObject)
全部,伙计们!)
答案 1 :(得分:19)
这意味着在Swift 3中反转了参数顺序。
对于NSData:
var values = [UInt8](repeating:0, count:data!.length)
data.getBytes(&values, length: data!.length)
对于数据:
var values = [UInt8](repeating:0, count:data!.count)
data.copyBytes(to: &values, count: data!.count)