如何在倒数计时器达到0时重置倒计时器? (Xcode 4)

时间:2011-11-21 07:13:35

标签: xcode4 timer nstimer countdown

第一个问题,我已经研究了这个,似乎找不到任何答案。

我想在我的应用程序中实现倒数计时器,该计时器从30秒开始,并在它达到0时重置。它将以1秒的间隔计数。我已经玩过Apple提供的资源了,我似乎无法像我刚才解释的那样实现NStimer。有关于如何编码的建议吗?我最终想把它链接到一个按钮,按下它时会启动计时器。我很感激有关这个主题的任何建议!

1 个答案:

答案 0 :(得分:1)

你的.h

中的

@interface YourObject : NSObject {
   int countdownNumber;
   NSTimer* timer;
}

@property (nonatomic, assign) int countdownNumber;
@property (nonatomic, retain) NSTimer* timer;

- (IBAction)clickOnButton:(id)sender
- (void)countdown;
@end
你的.m

中的

yourInitMethod {  // ViewDidLoad, initWith...., or any init method you have
  self.timer = nil;
}

- (IBAction)clickOnButton:(id)sender {
    if (self.timer != nil) {
         [self.timer invalidate];
    }

   self.countdownNumber = 30;
   self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countdown) userInfo:nil repeats:YES];
}

- (void)countdown {
   self.countdownNumber--;
   if (self.countdownNumber == 0) {
      [self.timer invalidate];
      self.timer = nil;
   }
}