调用sizeof
时收到此错误消息。
/Users/MNurdin/Documents/iOS/xxxxx/ViewController.swift:46:58:无法调用' sizeof'使用类型'([Double])'
的参数列表
我的代码
let wts: [Double] = [ -30 , 20 , 20 ]
let weights: NSData = NSData(bytes: wts, length: sizeof(wts))
我做错了什么?
答案 0 :(得分:6)
不要在实例上使用sizeof()
,它需要一种类型。请改用sizeofValue()
。
let wts: [Double] = [-30, 20, 20]
let weights = NSData(bytes: wts, length: sizeofValue(wts) * wts.count)
请注意,您需要将sizeofValue的值乘以数组的计数,因为它将返回数组中每个元素的大小,而不是整个数组的大小。
答案 1 :(得分:2)
如果你想要获得数组的总字节大小,你需要知道有多少元素,并将它乘以double的大小。
let wts: [Double] = [-30, 20, 20]
let sizeOfArray = wts.count * sizeof(Double) //sizeof requires a Type [Double] is not a type
let weights: NSData = NSData(bytes: wts, length: sizeOfArray