Xcode4 当倒计时达到0时,如何重置倒计时?(代码4)

Xcode4 当倒计时达到0时,如何重置倒计时?(代码4),xcode4,timer,nstimer,countdown,Xcode4,Timer,Nstimer,Countdown,第一个问题,我已经研究了这个问题,似乎找不到任何答案 我想在我的应用程序中实现一个倒计时,从30秒开始,当它达到0时重置。它将以1秒的间隔倒计时。我已经玩弄了苹果提供的资源,但我似乎无法按照我刚才解释的那样实现NStimer。有没有关于如何编写代码的建议?我最终想把它链接到一个按钮,当它被按下时,这个按钮将启动计时器。我很感激你对这个话题的任何建议 在你的.h中 @interface YourObject : NSObject { int countdownNumber; NSTim

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


我想在我的应用程序中实现一个倒计时,从30秒开始,当它达到0时重置。它将以1秒的间隔倒计时。我已经玩弄了苹果提供的资源,但我似乎无法按照我刚才解释的那样实现NStimer。有没有关于如何编写代码的建议?我最终想把它链接到一个按钮,当它被按下时,这个按钮将启动计时器。我很感激你对这个话题的任何建议

在你的.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;
   }
}