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

如果这两种方法都在同一个控制器上,那么只需将计时器设为实例变量。如果它们不在同一个对象上,您应该重新考虑您的设计,因为两个类试图管理同一个设施。

于 2011-03-27T19:31:57.590 回答