在iPhone上自动每分钟更新一次屏幕

时间:2012-07-19 21:47:35

标签: iphone ios

我有一个倒计时TextField,我喜欢在我的iPhone应用程序中自动更新每分钟。

当特定屏幕可见时,它应倒计时 - 切换到另一个屏幕时,显然不能更新倒计时。

当返回屏幕时,倒计时应该再次继续......

处理此问题的正确方法是什么?

非常感谢!

1 个答案:

答案 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秒,并检查系统时间以确定何时需要更新倒计时。

我希望有所帮助!