连续检查数据(方法)iOS

时间:2012-07-24 17:49:05

标签: ios cocoa-touch continuous

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

3 个答案:

答案 0 :(得分:1)

您这样做的方法是设置NSTimer。

-(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 :(得分:1)

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

apple's page on NSTimer use

答案 2 :(得分:-1)

你需要使用NSTimer为此:

在您的界面中

声明一个NSTimer对象,如:

NSTimer *timer;
<。>在.m viewDidLoad方法中添加以下行。

timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

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