1

我正在实现一个简单的调度定时器,在调用定时器两分钟后执行几行代码。代码如下,

dispatch_time_t poptime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds *NSEC_PER_SEC);
dispatch_after(poptime,dispatch_get_main_queue(), ^(void){

              //some code here
});

我正在寻找的是在单击按钮时杀死或停止或将计时器修改为无穷大。我有按钮点击功能,这个调度计时器是用类的 viewdidload 函数编写的。

这可能吗?请帮忙谢谢。

4

2 回答 2

2

一旦 GCD 块被调度,你就不能取消它。你应该使用类似的东西NSTimer

于 2013-07-22T14:08:56.773 回答
1

AFAIK 我知道你不能用 GCD 做到这一点。

使用:NSOperationQueue代替并cancelAllOperations用于取消操作。

于 2013-07-22T14:02:38.423 回答