2013-07-22 120 views
0

我正在实现一个简单的调度计时器来执行定时器调用两分钟后几行代码。代码如下,停止dispatch_time_t当点击一个按钮

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函数中。

这可能吗?请帮助 谢谢。

+1

这可能有所帮助:http://blog.spacemanlabs.com/2011/12/cancel-dispatch_after/ – trojanfoe

+0

是否有一个原因,您不能使用两分钟的NSTimer,然后在单击按钮时使其失效? – James

+0

@James我试过NSTimer,但它有点停止整个过程,并等待时间间隔 –

回答

1

AFAIK我知道你不能用GCD做。

使用:NSOperationQueue改为使用cancelAllOperations取消操作。

2

一旦GCD块被分派,你不能取消它。您应该使用类似NSTimer的内容。