首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >持续检查数据(方法) iOS

持续检查数据(方法) iOS
EN

Stack Overflow用户
提问于 2012-07-25 01:49:05
回答 3查看 756关注 0票数 0

是否有任何方法(如- viewDidLoad)可以连续执行一部分代码?我需要能够连续检查远程服务器上的值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-25 01:51:07

执行此操作的方法是设置一个NSTimer。

代码语言:javascript
复制
-(void)startCheckingValue
{
    mainTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(checkValue:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:mainTimer forMode:NSDefaultRunLoopMode];
}

-(void)checkValue:(NSTimer *)mainTimer
{
    //Placeholder Function, this is where you write the code to check your value on the remote server
}

timerWithTimeInterval函数是您感兴趣的函数,您需要传递它的主要内容,正如您在上面看到的,是它执行您传递给它的选择器的函数的时间间隔。时间间隔以秒为单位,因此当前设置为每秒检查一次,这可能太快了。

票数 1
EN

Stack Overflow用户

发布于 2012-07-25 01:51:28

使用NSTimer每隔x秒执行一次相同的代码块。然而,我不认为这是你想要的,考虑到它会给服务器带来很多额外的负载,你可能会被禁止,所以可能有更好的方法。

apple's page on NSTimer use

票数 1
EN

Stack Overflow用户

发布于 2012-07-25 01:59:46

为此,您需要使用NSTimer

在接口中声明一个NSTimer对象,如下所示:

代码语言:javascript
复制
NSTimer *timer;

在您的.m viewDidLoad方法中,添加以下行。

代码语言:javascript
复制
timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

timerFireMethod方法中,您需要执行服务器调用和其他工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11636461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档