Darx Darx - 1 year ago 96
iOS Question

Swift use sizeof with Int32 Array

i want to get the Length of an Array with "sizeof". I tried everything. This is the error message: "[Int32] is not convertible to T.Type"

The Array has to be Int32.

var testArray: [Int32] = [2000,400,5000,400]
var arrayLength = sizeof(testArray)

Answer Source

You can get the number of elements in an array simply with

let count = testArray.count

and the total number of bytes of its elements with

var arrayLength = testArray.count * sizeof(Int32)

sizeof is used with types and sizeofValue with values, so both

var arrayLength = sizeof([Int32])
var arrayLength = sizeofValue(testArray)

would compile. But that gives you the size of the struct Array, not the size of the element storage.