У меня проблема с инициализацией типа enum, которая кажется простой для решения, но я не выяснил, как это сделать.
Предположим, я объявил следующий тип перечисления:
typedef enum NXSoundType {
NXSoundTypeNone,
NXSoundTypeEffect,
NXSoundTypeBackgroundMusic
} NXSoundType;
Я объявляю удобный метод для возврата одного из типов перечисления NXSoundType с данным объектом NSString, как этот (ПРИМЕЧАНИЕ: NXSound является объектом, который содержит атрибут NXSoundType с именем "type"):
- (NXSoundType)nxSoundTypeFromIdentifier:(NSString*)nxSoundIdentifier {
NXSoundType type = NXSoundTypeNone;
for (NXSound *nxSound in self.nxSounds) {
if ([nxSound.identifier isEqualToString:nxSoundIdentifier]) {
type = nxSound.type;
}
}
return type;
}
Пока все хорошо. Но следующий вызов не работает:
NXSoundType type = [self nxSoundTypeFromIdentifier:@"kNXTargetGameSoundIdEffectTic"];
Что не так?
Заранее спасибо.