以每 x 秒的速度更新标签

发布于 2024-10-26 03:28:46 字数 116 浏览 2 评论 0原文

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

I'm developing my first iPhone application. I have to update a label with the device speed every x seconds. I have created my own CLController and I can get device speed but I don't know if I have got to use NSTimer to update my label. How can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白龙吟 2024-11-02 03:28:46

您可以像这样安排计时器

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

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

- (void) updateLabel {
    myLabel.text = @"updated text";
}

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

[timer invalidate];

You can schedule the timer like this

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

Now below method will get called in every YOUR_INTERVAL (in seconds) periods

- (void) updateLabel {
    myLabel.text = @"updated text";
}

To stop the timer you could call invalidate on the timer object. So you might want to save the timer as a member variable, so that you can access it anywhere.

[timer invalidate];
老旧海报 2024-11-02 03:28:46

你是对的,你必须使用 NSTimer。
您将在 x 秒后调用一个方法并更新标签。

[NSTimer scheduledTimerWithTimeInterval:x  target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];

-(void)updateLabel
{
    // update your label
}

you are right you have to use NSTimer.
You will be calling one method after x seconds and updating the label.

[NSTimer scheduledTimerWithTimeInterval:x  target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];

-(void)updateLabel
{
    // update your label
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文