【发布时间】:2017-01-17 09:46:12
【问题描述】:
我有倒数计时器。如果我退出应用程序并重新启动它,计时器应根据分配的时间恢复时间。是否可以?
timer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(timerFired)
userInfo:nil repeats:YES];
- (void)timerFired
{
if((currMinute>0 || currSeconds>=0) && currMinute>=0)
{
if(currSeconds==0)
{
currMinute-=1;
currSeconds=59;
}
else if(currSeconds>0)
{
currSeconds-=1;
}
if(currMinute>-1)
timeRemain=[NSString stringWithFormat:@"%d%@%02d",currMinute,@":",currSeconds];
}
else
{
[timer invalidate];
}
}
【问题讨论】:
-
退出应用程序时将剩余时间保存到
UserDefaults,然后在应用程序重新启动时读取该值。然后你可以继续你剩下的时间。如果您希望它继续计数,那么您可能希望将退出应用程序的时间保存到UserDefaults,然后根据当前时间进行一些计算。
标签: ios objective-c xcode nstimer countdowntimer