0

タイマーを宣言したメソッドがあります。

- (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;
    }
}

誰でも私を助けることができますか?

4

1 に答える 1

3

両方のメソッドが同じコントローラー上にある場合は、単にタイマーをインスタンス変数にします。それらが同じオブジェクト上にない場合は、2 つのクラスが同じ機能を管理しようとしているため、設計を再考する必要があります。

于 2011-03-27T19:31:57.590 に答える