我有一个倒计时TextField,我喜欢在我的iPhone应用程序中自动更新每分钟。
当特定屏幕可见时,它应倒计时 - 切换到另一个屏幕时,显然不能更新倒计时。
当返回屏幕时,倒计时应该再次继续......
处理此问题的正确方法是什么?
非常感谢!
答案 0 :(得分:2)
我会使用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秒,并检查系统时间以确定何时需要更新倒计时。
我希望有所帮助!