我正在创建一个连接iPhone的应用程序 它使用枚举指定UInt32。但sizeof()的大小不同 为什么不等于UInt32?
enum Message:UInt32{
case A = 1
case B = 2
case C = 3
}
sizeof(UInt32) // 4
sizeof(Message) // 1
答案 0 :(得分:0)
他们必须优化存储,以下工作:
sizeofValue(Message.A.toRaw()) // 4
答案 1 :(得分:0)
在没有其他方法的情况下调用枚举对象的实例时,它返回枚举的类型(在本例中为UInt32)。
参考这个答案,Types in objective-c on iPhone,无符号整数是32 4字节。