如何在中间停止GCD阻止执行

时间:2015-02-17 09:46:23

标签: ios grand-central-dispatch

我正在使用GCD块在后台线程中调用我的服务。我想为用户提供取消按钮以取消处理/加载Svc。

如何在用户取消时停止执行 如果不可能指导我实现相同的功能

 dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Add code here to do background processing
//
//
dispatch_async( dispatch_get_main_queue(), ^{
    // Add code here to update the UI/send notifications based on the
    // results of the background processing
});
});

谢谢

1 个答案:

答案 0 :(得分:2)

您可以考虑向GCD添加抽象级别并使用NSOperation。它提供了一个本机cancel方法,但永远不会立即停止执行您的代码。