gpt4 book ai didi

iphone - 如何取消使用 addOperationWithBlock 创建的操作?

转载 作者:IT王子 更新时间:2023-10-29 08:10:11 25 4
gpt4 key购买 nike

我正在使用 NSOperationQueue 的 addOperationWithBlock。在 block 内,我如何检查我是否应该取消操作?或者访问任何 NSOperation 属性/方法?

[myOperationQueue addOperationWithBlock: ^{

while ( /* long running loop */ )
{
// how to determine here if I need to cancel?
// for that matter, access any NSOperation properties/methods?

}

}];

执行此操作的更好方法是使用 NSBlockOperation 吗?

最佳答案

更好的解决方案可能是使用 NSBlockOperation 并将其添加到队列而不是原始 block 。你可以这样做:

__block NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
while(![operation isCancelled]){
//Some long operation
}
}];

[[self queue] addOperation:operation];

这让您可以使用 block ,同时让您对操作有更多的控制......还有一些 NSOperation 细节(例如添加完成 block 的能力)。

关于iphone - 如何取消使用 addOperationWithBlock 创建的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com