在单引号内以字符串文字形式的目标c枚举值

时间:2011-04-01 13:53:49

标签: iphone objective-c enums

AudioToolbox/AudioServices.h

中找到枚举声明
enum
{
    kAudioSessionNoError                                =  0,
    kAudioSessionNotInitialized                         = '!ini',
    kAudioSessionAlreadyInitialized                     = 'init',
    kAudioSessionInitializationError                    = 'ini?',
    kAudioSessionUnsupportedPropertyError               = 'pty?',
    kAudioSessionBadPropertySizeError                   = '!siz',
    kAudioSessionNotActiveError                         = '!act',
    kAudioServicesNoHardwareError                       = 'nohw',
    kAudioSessionNoCategorySet                          = '?cat',
    kAudioSessionIncompatibleCategory                   = '!cat',
    kAudioSessionUnspecifiedError                       = 'what'
};

我真的不明白这个声明究竟是什么。 Google不提供任何信息。有什么帮助吗?

1 个答案:

答案 0 :(得分:8)

这些被称为“四个字符代码”:

http://en.wikipedia.org/wiki/FourCC

它们被转换为整数(32位,因为它们是4个字符),但提高了comapred到数值的可读性。 Apple长期使用它,主要用于OSStatus代码。