每隔x秒以速度更新标签

Ric*_*eri 3 cocoa-touch nstimer cllocation ios

我正在开发我的第一个iPhone应用程序.我必须每隔x秒用设备速度更新一个标签.我创建了自己的CLController,我可以获得设备速度,但我不知道是否必须使用NSTimer更新我的标签.我该怎么做?

Kri*_*dra 7

您可以像这样安排计时器

NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:YOUR_INTERVAL 
                       target:self 
                       selector:@selector(updateLabel) 
                       userInfo:nil 
                       repeats:YES];
Run Code Online (Sandbox Code Playgroud)

现在,下面的方法将在每个YOUR_INTERVAL(以秒为单位)周期中被调用

- (void) updateLabel {
    myLabel.text = @"updated text";
}
Run Code Online (Sandbox Code Playgroud)

要停止计时器,可以在计时器对象上调用invalidate.因此,您可能希望将计时器保存为成员变量,以便您可以在任何地方访问它.

[timer invalidate];
Run Code Online (Sandbox Code Playgroud)

  • 您还需要通过将计时器添加到MainRunLoop` [[NSRunLoop mainRunLoop] addTimer:myTimer forMode:NSRunLoopCommonModes]来触发计时器; (3认同)