Swift使用sizeof和Int32 Array

Dar*_*arx 9 arrays sizeof ios swift ios8

我想用"sizeof"获得数组的长度.我尝试了一切.这是错误消息:"[Int32]无法转换为T.Type"

数组必须是Int32.

var testArray: [Int32] = [2000,400,5000,400]
var arrayLength = sizeof(testArray)
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 19

您只需使用即可获得数组中的元素数

let count = testArray.count
Run Code Online (Sandbox Code Playgroud)

以及其元素的总字节数

var arrayLength = testArray.count * sizeof(Int32)
// Swift 3:
var arrayLength = testArray.count * MemoryLayout<Int32>.size
Run Code Online (Sandbox Code Playgroud)

sizeof与类型和sizeofValue值一起使用,所以两者都有

var arrayLength = sizeof([Int32])
var arrayLength = sizeofValue(testArray)
Run Code Online (Sandbox Code Playgroud)

编译.但是这会给你大小,而struct Array不是元素存储的大小.