2013-07-17 57 views
1

我無法加入NSsound實例爲NSMutableArray 我得到的錯誤是,我不能做[soundFiles addObject:soundObj],因爲soundObjnil。但如果我做[soundObj play],它會發揮 - 所以它是一個實例。無法把NSSound實例中的NSMutableArray離子可可

//Name of all the sounds to load in. 
sounds = [NSArray arrayWithObjects: 
     @"sound1", 
     @"sound2", 
     nil]; 


for (int i = 0; i < sounds.count; i++) { 
    NSString *soundName = [NSString stringWithString:sounds[i]]; 
    NSSound *soundObj = [NSSound soundNamed:soundName]; 
    [soundFiles addObject:soundObj]; 
} 

如果我改變[soundFiles addObject:soundObj][soundFiles addObject:soundName]它是好的,所以它的東西,試圖通過NSSound

我希望能夠預裝了一堆很短的聲音,使他們玩他們被召喚的那一刻。毫秒對於這個項目很重要。

我希望這會允許我做[[soundFiles objectAtIndex:1] play] - 因爲我認爲這會比創建NSSound對象時要快。

回答

1

您現在可能已經想通了,但我的猜測是,在您創建所有您想要使用的聲音文件之前,您正在編寫代碼。所以當你試圖創建這些不存在的文件的NSSound實例時,它被設置爲零。這很難排除故障,因爲NSSound在將它指向不存在的文件時不會引發錯誤。

我有相同的問題,直到我創建了所有我想使用的聲音文件。我只想發佈我的答案,以幫助其他任何有這個問題的人,因爲谷歌搜索沒有任何幫助。

相關問題