自动刷新一种方法

时间:2017-04-05 05:07:02

标签: ios objective-c methods refresh

编写了一种更新方法,当我们开始该活动时,它会一次又一次地调用自身,如下所述。我想在获得输出后停止此方法函数(现在,即使我们得到输出它也会继续运行)。如果有可能,请告诉我。

-(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];
});
 } 

2 个答案:

答案 0 :(得分:0)

如果您需要继续调用此方法,直到获得输出,则需要包含该测试,并且只有在没有任何输出时才会再次调用该函数。

if !outputDataExists {
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        [self reloadMethod];
    });
}

答案 1 :(得分:-1)

您可以在此处使用计时器

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0
        target:self
        selector:@selector(reloadMethod)
        userInfo:nil
        repeats:YES];

完成重复执行后,请执行此操作

[timer invalidate];
timer = nil;