我正在使用 Apple 的ScriptingBridge框架,并为 iTunes 生成了一个头文件,其中包含enum如下几个 s:
typedef enum {
iTunesESrcLibrary = 'kLib',
iTunesESrcIPod = 'kPod',
iTunesESrcAudioCD = 'kACD',
iTunesESrcMP3CD = 'kMCD',
iTunesESrcDevice = 'kDev',
iTunesESrcRadioTuner = 'kTun',
iTunesESrcSharedLibrary = 'kShd',
iTunesESrcUnknown = 'kUnk'
} iTunesESrc;
我的理解是enum值必须是整数,但这个定义似乎违反了该规则。此外,似乎将这些enum值视为整数(NSPredicate例如在 an 中)并没有做正确的事情。
我将enum上面的声明添加到具有空main函数的 C 文件中,并使用i686-apple-darwin9-gcc-4.0.1. 因此,虽然这些类型的enums 可能不符合 C 标准(正如 Parappa 在下面指出的那样),但它们至少被gcc编译为某种类型。
那么,该类型是什么,我该如何使用它,例如,在格式字符串中?