簡単に解決できるように見える列挙型の初期化に問題がありますが、その方法がわかりません。次の列挙型を宣言するとします。
typedef enum NXSoundType {
NXSoundTypeNone,
NXSoundTypeEffect,
NXSoundTypeBackgroundMusic
} NXSoundType;
次のような NSString オブジェクトを指定して、NXSoundType 列挙型の 1 つを返す便利なメソッドを宣言します (注: NXSound は、「type」という名前の NXSoundType 属性を含むオブジェクトです)。
- (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"];
どうしたの?前もって感謝します。