我有一个倒计时 TextField,我喜欢在我的 iPhone 应用程序中每分钟自动更新一次。
当特定屏幕可见时,它应该倒计时 - 当切换到另一个屏幕时,倒计时显然不能更新。
返回屏幕时,倒计时应再次继续...
处理这个的正确方法是什么?
非常感谢!
我会使用一个NSTimer
. 这是NSTimer的文档。
这是一段关于如何设置计时器并让它调用方法的代码片段:
NSTimer *theTimer = [NSTimer timerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:NO];
此计时器将在updateTime
每次触发时调用该方法。我已将其设置为不重复,而是在每次调用该updateTime
方法时创建一个新计时器。这样,如果您离开UIViewController
后面,它将不会继续射击NSTimer
。
这是一个通用updateTime
方法:
-(void) updateTime
{
//Update user interface
NSTimer *theTimer = [NSTimer timerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:NO];
}
以timeInterval
秒为单位,因此此计时器将每 60 秒触发一次。您可能希望将其缩短一点,例如 30 秒,甚至 1 秒,然后检查系统时间以查看何时需要更新倒计时。
我希望这会有所帮助!