一尘不染

斯威夫特:如何使用sizeof?

swift

为了在使用Swift时与C API集成,我需要使用sizeof函数。在C语言中,这很容易。在Swift中,我处于类型错误的迷宫中。

我有以下代码:

var anInt: Int = 5
var anIntSize: Int = sizeof(anInt)

第二行显示错误“’NSNumber’不是’T.Type’的子类型”。为什么会这样,我该如何解决?


阅读 253

收藏
2020-07-07

共1个答案

一尘不染

使用sizeof如下:

let size = sizeof(Int)

sizeof 使用类型作为参数。

如果您想要anInt变量的大小,可以将该dynamicType字段传递给sizeof

像这样:

var anInt: Int = 5
var anIntSize: Int = sizeof(anInt.dynamicType)

或更简单地说(由user102008指出):

var anInt: Int = 5
var anIntSize: Int = sizeofValue(anInt)
2020-07-07