为了在使用Swift时与C API集成,我需要使用sizeof函数。在C语言中,这很容易。在Swift中,我处于类型错误的迷宫中。
我有以下代码:
var anInt: Int = 5 var anIntSize: Int = sizeof(anInt)
第二行显示错误“’NSNumber’不是’T.Type’的子类型”。为什么会这样,我该如何解决?
使用sizeof如下:
let size = sizeof(Int)
sizeof 使用类型作为参数。
sizeof
如果您想要anInt变量的大小,可以将该dynamicType字段传递给sizeof。
anInt
dynamicType
像这样:
var anInt: Int = 5 var anIntSize: Int = sizeof(anInt.dynamicType)
或更简单地说(由user102008指出):
var anInt: Int = 5 var anIntSize: Int = sizeofValue(anInt)