你好朋友我是iOS开发的新手。我有一个与 NSTimer 相关的问题。我在我的视图控制器中使用 NSTimer。
计时器开始减少 UIButton 事件的值。当我转到另一个视图控制器时调用计时器后。然后计时器减少它工作正常的值。但是当我回到计时器视图时,计时器停止更新值意味着计时器不调用它的 @selector() 方法。当我回到计时器视图时如何调用值更新方法?
我的代码如下:
-(IBAction)btnStrDecPressed:(id)sender
{
countDownlabel.text = [NSString stringWithFormat:@"%@:%@:%@", pickhour, pickmins, picksecs];
secondsLeft=[pickhour intValue] * 3600;
secondsLeft=secondsLeft + [pickmins intValue] * 60;
secondsLeft=secondsLeft + [picksecs intValue];
appdel.LeftSeconds=secondsLeft;
NSLog(@"%d",appdel.LeftSeconds);
if(timer==nil)
{
timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(updateCountdown) userInfo:nil repeats: YES];
}
}
-(void)updateCountdown
{
int hours, minutes, seconds;
hours = appdel.LeftSeconds / 3600;
minutes = (appdel.LeftSeconds % 3600) / 60;
seconds = (appdel.LeftSeconds %3600) % 60;
appdel.LeftSeconds--;
countDownlabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
if (appdel.LeftSeconds==0)
{
[[[UIAlertView alloc] initWithTitle:@"Restaurant" message:@"Timer Completed" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show];
[timer invalidate];
}
}
其中 pickhour、pickmins、picksecs 是从 UIPickerview 获取的值。