如何停止向dispatch_async请求发送请求振铃?

时间:2016-10-24 13:22:13

标签: objective-c

我点击按钮发出蜂鸣声,作为后台线程,视图控制器上出现欢迎信息,蜂鸣声一直持续,直到我关闭应用程序。 当欢迎消息到达视图控制器时,如何暂停队列以进一步执行?

当欢迎屏幕进入时,我尝试从另一个视图控制器dispatch_suspend(dispatch_get_main_queue());进行呼叫但是后台继续发出蜂鸣声。有人可以提示阻止队列执行或只是清理队列吗?

dispatch_async(dispatch_get_main_queue(), ^{
    NSInteger timeintervalForBeep;
    if (_bu.buModel == BuTwo) {
        timeintervalForBeep = 7; 
    } else {
        timeintervalForBeep = 2;
    }

    _findBeepTimer = [NSTimer scheduledTimerWithTimeInterval:timeintervalForBeep 
                                                      target:self 
                                                    selector:@selector(makeBeep) 
                                                    userInfo:nil
                                                     repeats:YES];
    // Fire it once immediately.
    [_findBeepTimer fire];
});

1 个答案:

答案 0 :(得分:0)

makeBeep函数中的

,通过添加以下代码使计时器无效:

[_findBeepTimer invalidate];
_findBeepTimer = nil;
相关问题