Я работаю с фреймворком Apple ScriptingBridge
и сгенерировал заголовочный файл для iTunes, который содержит несколько enum
с:
typedef enum {
iTunesESrcLibrary = 'kLib',
iTunesESrcIPod = 'kPod',
iTunesESrcAudioCD = 'kACD',
iTunesESrcMP3CD = 'kMCD',
iTunesESrcDevice = 'kDev',
iTunesESrcRadioTuner = 'kTun',
iTunesESrcSharedLibrary = 'kShd',
iTunesESrcUnknown = 'kUnk'
} iTunesESrc;
Насколько я понимаю, enum
значения должны быть целочисленными, но это определение, кажется, нарушает это правило. Кроме того, кажется, что обработка этих enum
значений как целых чисел (например, в NSPredicate
) не дает правильных результатов.
Я добавил приведенное выше объявление enum
в файл C с пустой функцией main
, и оно скомпилировано с использованием i686-apple-darwin9-gcc-4.0.1
. Таким образом, хотя эти типы enum
могут не соответствовать стандарту C (как Параппа указывает ниже), они по крайней мере компилируются в некоторый тип с помощью gcc.
Итак, что это за тип и как я могу использовать его, например, в строке формата?