background image

iOS 如何处理特殊枚举值

在编写

AVAudioRecorder 相关程序时,发现 AVFoundation 中有如下枚举定义:

枚举值是由多个字符定义的,通常是

4 个字符,因为 4 个字符一共 4 字节正好组成一个 int。

那么怎样从这样的枚举值中获取相应的字符串信息呢?

 

我们需要先了解他,首先,这种定义在

C/C++中是完全允许的,但是语言标准中并没有具

体规定它的执行(

参考

)。在

iOS/Mac 环境下测试,结果是把每个字符的对应字节(字符的

ASCII 码)倒着拼成一个 4 字节的 int,因为 iOS 也是 Little Endian 环境。

所以可以这样做:

int

 value = 

'Mgen'

;

NSLog

(

@"%d"

, value);

//手动创建一个这样的常量