Iphone 每次点击都会加快倒计时

Iphone 每次点击都会加快倒计时,iphone,objective-c,cocoa-touch,nstimer,Iphone,Objective C,Cocoa Touch,Nstimer,我有一个大问题,无法解决: 我用NSTimer进行倒计时,倒计时工作正常,单击一个按钮,倒计时开始,当达到零时,标签出现。 当我再次按下按钮并再次开始倒计时时,问题就出现了,但这次的速度是原来的两倍!!下一次越来越快。。。我不知道该怎么办。。。我需要做一个循环,但只工作一次。。。 我一直在寻找,但我没有找到任何关于它。。。不知道是否有人有同样的问题。 塔克斯 我想这可能是因为bcoz你从不停止计时器,所以当你第二次点击它时,它就相当于有两个计时器在运行,以此类推……试着在点击之前停止计时器,然后

我有一个大问题,无法解决: 我用NSTimer进行倒计时,倒计时工作正常,单击一个按钮,倒计时开始,当达到零时,标签出现。 当我再次按下按钮并再次开始倒计时时,问题就出现了,但这次的速度是原来的两倍!!下一次越来越快。。。我不知道该怎么办。。。我需要做一个循环,但只工作一次。。。 我一直在寻找,但我没有找到任何关于它。。。不知道是否有人有同样的问题。 塔克斯


我想这可能是因为bcoz你从不停止计时器,所以当你第二次点击它时,它就相当于有两个计时器在运行,以此类推……试着在点击之前停止计时器,然后再次启动它。

我想这可能是因为bcoz你从不停止计时器,因此,当您第二次单击它时,它就相当于运行了两个计时器,以此类推……请尝试在单击之前停止计时器并再次启动它。

您可能多次启动计时器。第二次单击按钮时,需要取消第一个计时器

-(IBAction)pressButton{
  i = 10;
  if (timer != nil) {
    [timer invalidate];
  }
  timer = [NSTimer scheduledTimerWithTimeInterval:1
                                     target:self
                                   selector:@selector(timerFires)
                                   userInfo:nil
                                    repeats:YES];
  [timer fire];

}

您可能正在多次启动计时器。第二次单击按钮时,需要取消第一个计时器

-(IBAction)pressButton{
  i = 10;
  if (timer != nil) {
    [timer invalidate];
  }
  timer = [NSTimer scheduledTimerWithTimeInterval:1
                                     target:self
                                   selector:@selector(timerFires)
                                   userInfo:nil
                                    repeats:YES];
  [timer fire];

}

或者,他可以禁用该按钮,或者更改其功能,以便在不启动另一个倒计时的情况下取消(即中止)第一个计时器。非常感谢。。。这就是我错过的。。。我还添加了禁用按钮,所以当时间达到零时,该按钮将被禁用。非常感谢你!!!或者,他可以禁用该按钮,或者更改其功能,以便在不启动另一个倒计时的情况下取消(即中止)第一个计时器。非常感谢。。。这就是我错过的。。。我还添加了禁用按钮,所以当时间达到零时,该按钮将被禁用。非常感谢你!!!下次请在代码的格式化上下功夫。下次请在代码的格式化上下功夫。