我以下面的方式使用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]
即使进程仍在运行,我也会使用“停止”按钮调用停止方法。它在同一个班级打电话。
我该如何阻止它?
答案 0 :(得分:1)
您可以在开始执行之前向队列中的所有操作发送取消消息,但如果您的操作已在执行,则需要处理取消消息
答案 1 :(得分:0)
这里用于暂停队列 [queue setSuspended:YES]工作正常,我在那里检查停止For循环的条件,即
if(![queue isSuspended])
{
NSLog(@"elements are :%d",i);
}
else
{
break;
}
我将这些代码行放在“loadDataWithOperation”方法
中