Objective-C аннулирует таймер в другом методе - PullRequest
0 голосов
/ 27 марта 2011

У меня есть метод, в котором я объявил таймер;

- (void)startTimer:(id)sender {
    NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval: 0.8
                                                     target: self
                                                   selector: @selector(toggleButtonImage:)
                                                   userInfo: nil
                                                    repeats: YES];  
}

Что я хочу сделать, так это то, что в другом методе я хочу сделать недействительным таймер, если он работает, вот что у меня есть, но я получаю сообщение об ошибке «таймер не объявлен»

- (void)stopTimer:(id)sender {
    if ( [timer isValid]) {
      [timer invalidate], timer=nil;
    }
}

Может ли кто-нибудь мне помочь?

1 Ответ

3 голосов
/ 27 марта 2011

Если оба метода находятся на одном контроллере, просто сделайте таймер переменной экземпляра. Если они не находятся на одном и том же объекте, вам следует переосмыслить свой дизайн, поскольку два класса пытаются управлять одним и тем же средством.

...