Mac OS X でさまざまな声をすべて取得し、性別で並べ替えようとするアプリケーションを作成しています。各性別 (男性、女性、ノベルティ) の声を入れるために 3 つの可変配列を作成し、列挙を使用してそれぞれを調べて正しい配列に入れています。残念ながら、それは機能していません。ノベルティ配列以外はすべて空になり、ノベルティ配列には 1 つの声、Zarvox しかありません。誰かが私が間違っていることを見ていますか? 以下のコードを投稿しました。
NSArray* voices = [NSSpeechSynthesizer availableVoices];
for(NSString* x in voices){
NSDictionary* voiceInfo = [NSSpeechSynthesizer attributesForVoice:x];
NSString* voiceName = [voiceInfo objectForKey:NSVoiceName];
NSString* voiceGender = [voiceInfo objectForKey:NSVoiceGender];
maleVoices = [[NSMutableArray alloc] init];
femaleVoices = [[NSMutableArray alloc] init];
noveltyVoices = [[NSMutableArray alloc] init];
if (voiceGender == NSVoiceGenderMale){
[maleVoices addObject:voiceName];
} else if (voiceGender == NSVoiceGenderFemale) {
[femaleVoices addObject:voiceName];
} else {
[noveltyVoices addObject:voiceName];
}
}