Codeline随机触发dispatch_async

时间:2012-07-19 11:11:54

标签: ios grand-central-dispatch

在我的第二个视图中,我这样做:

-(void)viewDidDisappear:(BOOL)animated
{
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);

    dbq = [[dbqueries alloc] init];

    [[NSNotificationCenter defaultCenter] postNotificationName:@"abc" object:nil];
    //disabling a button and turning a progressView in the mainView on

    dispatch_async(queue, ^{
        //WORK
    });
}

通知会禁用一个按钮,并在mainView上启动progressView(在progressView中有一个ActivityIndi​​cator)。 在完成工作的区域中,一个方法被调用3到6次,如果它们全部完成,我向mainView发送另一个通知以启用按钮并停止progressView。 现在奇怪的是,按钮在正确的时间启用,但progressView在几秒钟后随机停止

- (void)enableStartButton
{
    NSLog(@"enableStartButton");

    self.startARButton.enabled = YES;
    [self.progressView setHidden:YES];

    [[self.progressView.subviews objectAtIndex:0] stopAnimating];
}

我真的不知道这里发生了什么,提前谢谢!

0 个答案:

没有答案