自动连续刷新一种方法
Automatic refreshing one method continuously
已经编写了一个更新方法,当我们启动 activity 时,它会一次又一次地调用自己,如下所述。一旦我们得到输出,我想停止这个方法函数(现在,即使我们得到输出它也会保持 运行)。请让我知道是否有可能做到这一点。
-(void)reloadMethod{
[self downloadProgressAudio];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self reloadMethod];
});
}
你可以在这里使用定时器
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(reloadMethod)
userInfo:nil
repeats:YES];
完成重复执行后,执行此操作
[timer invalidate];
timer = nil;
如果您需要一直调用此方法直到获得输出,则需要包含该测试,并且只有在没有任何输出时才再次调用该函数。
if !outputDataExists {
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self reloadMethod];
});
}
已经编写了一个更新方法,当我们启动 activity 时,它会一次又一次地调用自己,如下所述。一旦我们得到输出,我想停止这个方法函数(现在,即使我们得到输出它也会保持 运行)。请让我知道是否有可能做到这一点。
-(void)reloadMethod{
[self downloadProgressAudio];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self reloadMethod];
});
}
你可以在这里使用定时器
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(reloadMethod)
userInfo:nil
repeats:YES];
完成重复执行后,执行此操作
[timer invalidate];
timer = nil;
如果您需要一直调用此方法直到获得输出,则需要包含该测试,并且只有在没有任何输出时才再次调用该函数。
if !outputDataExists {
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self reloadMethod];
});
}