сохранить bool в nsuserdefaults

когда мое приложение запускает музыку, играет:

-(void)playBgMusic {

NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"aif"];
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];    }

, но он должен иметь возможность выключить музыку, нажав кнопку, если он снова нажмет кнопку, музыка должна включи снова. у меня есть:

-(IBAction)check {


if (isquiet == NO) {

    [theAudio stop];

    isquiet = YES;

     defaults = [NSUserDefaults standardUserDefaults];
    [defaults setBool:YES forKey:@"stringKey"];


}

else {

    [self playBgMusic];

    isquiet = NO;

    defaults = [NSUserDefaults standardUserDefaults];
    [defaults setBool:NO forKey:@"stringKey"]; } }

Кажется, я не понял. Теперь он работает в моем первом ViewController, что я могу включать и выключать музыку, но когда я перехожу к другому viewController во время воспроизведения музыки, затем снова и снова нажимаю кнопку, музыка не останавливается, и когда я нажимаю ее много раз музыка воспроизводится второй раз и перекрывается.

Что все еще не так?

7
задан Leon 7 April 2011 в 21:18
поделиться