iphone - 如何停止使用 NSOperationQueue 启动的任务?

标签 iphone ios nsoperationqueue

enter image description here我通过以下方式使用 NSOperationQueue 创建了一个进程:

queue = [[NSOperationQueue alloc]init];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self 
                                                                           selector:@selector(loadDataWithOperation)object:nil];
[queue addOperation:operation];
[operation release];

loadDataWithOperation 方法中,我编写了用于打印无限数字的代码。

现在我已经调用cancelAppOperations来停止其执行,并且我还尝试将挂起值设置为YES,如下所示

[queue setSuspended:YES]

即使进程仍在运行,我也使用“停止”按钮调用停止方法。它在同一个类中调用。

如何阻止它?

最佳答案

您可以在队列中的所有操作开始执行之前向它们发送取消消息,但如果您的操作已经在执行,则需要处理取消消息

关于iphone - 如何停止使用 NSOperationQueue 启动的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12371288/

相关文章:

ios - 动画立即完成,无论持续时间和延迟如何

ios - 如何按顺序使用函数

ios - 将主队列设置为 NSOperationQueue 的底层队列

iphone - cocoa touch : When does an NSFetchedResultsController become necessary to manage a Core Data fetch?

iphone - 我可以编辑 UIImage 属性 CGImage 的像素吗

iphone - 在 iPhone 中允许定位服务

ios - dispatch_async 中的异步 url 请求

ios - 并发 NSOperationQueue 上传后跟一个任务

ios - UIpagecontrol 需要动画从右到左

iphone - 恢复不可续订订阅