是否有任何方法(如- viewDidLoad)可以连续执行一部分代码?我需要能够连续检查远程服务器上的值。
发布于 2012-07-25 01:51:07
执行此操作的方法是设置一个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函数是您感兴趣的函数,您需要传递它的主要内容,正如您在上面看到的,是它执行您传递给它的选择器的函数的时间间隔。时间间隔以秒为单位,因此当前设置为每秒检查一次,这可能太快了。
发布于 2012-07-25 01:51:28
使用NSTimer每隔x秒执行一次相同的代码块。然而,我不认为这是你想要的,考虑到它会给服务器带来很多额外的负载,你可能会被禁止,所以可能有更好的方法。
发布于 2012-07-25 01:59:46
为此,您需要使用NSTimer:
在接口中声明一个NSTimer对象,如下所示:
NSTimer *timer;在您的.m viewDidLoad方法中,添加以下行。
timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];在timerFireMethod方法中,您需要执行服务器调用和其他工作。
https://stackoverflow.com/questions/11636461
复制相似问题