我点击按钮发出蜂鸣声,作为后台线程,视图控制器上出现欢迎信息,蜂鸣声一直持续,直到我关闭应用程序。 当欢迎消息到达视图控制器时,如何暂停队列以进一步执行?
当欢迎屏幕进入时,我尝试从另一个视图控制器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];
});
答案 0 :(得分:0)
,通过添加以下代码使计时器无效:
[_findBeepTimer invalidate];
_findBeepTimer = nil;