Tom*_*ift 18 iphone nsoperation nsoperationqueue ios
我正在使用NSOperationQueue的addOperationWithBlock.从块内,我如何检查是否应该取消操作?或访问任何NSOperation属性/方法?
[myOperationQueue addOperationWithBlock: ^{
while ( /* long running loop */ )
{
// how to determine here if I need to cancel?
// for that matter, access any NSOperation properties/methods?
}
}];
Run Code Online (Sandbox Code Playgroud)
使用NSBlockOperation是更好的方法吗?
jem*_*ons 51
更好的解决方案可能是使用NSBlockOperation并将其添加到队列而不是原始块.你可以这样做:
__block NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
while(![operation isCancelled]){
//Some long operation
}
}];
[[self queue] addOperation:operation];
Run Code Online (Sandbox Code Playgroud)
这可以让你使用块,同时让你对操作有更多的控制......还有一些NSOperation细节(比如添加完成块的能力).
| 归档时间: |
|
| 查看次数: |
6876 次 |
| 最近记录: |