在单个qoutes中以字符串文字形式的目标c enum值

Ale*_* N. 5 iphone enums objective-c

发现枚举声明 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'
};
Run Code Online (Sandbox Code Playgroud)

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

Mac*_*ade 8

这些被称为«四个字符代码»:

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

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