Du får det felmeddelandet därför att du inte talat om vad loaded är för variabel. Gör så här istället:
NSSound *asound = [NSSound soundNamed:@asound];
if (![asound isPlaying])
{
[asound play];
}
Hej Marcus,
Blir detta en minnesläcka i pre-Leopard version?
Jag testade detta:
- (IBAction)playSound:(id)sender {
if (![mySound isPlaying]){
[mySound play];
}
}
- (void) awakeFromNib{
mySound = [NSSound soundNamed:@Submarine];
}
Vilket fungerar utmärkt (med mySound som instansvariabel), jag kan klicka på min, till -playSound kopplade knapp många gånger utan problem. Tänker jag rätt om jag tolkar det som mySound aldrig blir släppt?
Det jag undrar är huruvida -soundNamed skapar en nytt objekt varje gång. I så fall torde din rutin läcka mySound Hur i helsike kan Garbage Collection egentligen fungera?
Vänligen, Ylan, som äntligen börjat knacka litet igen