为什么枚举大小不同。在斯威夫特

时间:2014-07-30 03:11:26

标签: swift

我正在创建一个连接iPhone的应用程序 它使用枚举指定UInt32。但sizeof()的大小不同 为什么不等于UInt32?

enum Message:UInt32{
    case A = 1
    case B = 2
    case C = 3
}

sizeof(UInt32)    // 4
sizeof(Message)   // 1

2 个答案:

答案 0 :(得分:0)

他们必须优化存储,以下工作:

sizeofValue(Message.A.toRaw()) // 4

答案 1 :(得分:0)

在没有其他方法的情况下调用枚举对象的实例时,它返回枚举的类型(在本例中为UInt32)。

参考这个答案,Types in objective-c on iPhone,无符号整数是32 4字节