单击按钮时停止dispatch_time_t

时间:2013-07-22 13:52:52

标签: iphone ios objective-c

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

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函数编写的。

这可能吗?请帮忙 感谢。

2 个答案:

答案 0 :(得分:2)

一旦调度了GCD块,就无法取消它。您应该使用类似NSTimer的内容。

答案 1 :(得分:1)

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

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