我目前正在使用 GCD。但是,我听说这NSOperation
实际上是一个更高级别的程序。但它要复杂得多。
在 GCD 中,在后台做一些事情只是使用我创建的这个辅助函数:
+(void)doForeGround:(void (^)())block
{
dispatch_async(dispatch_get_main_queue(), ^{
block();
});
}
+(void)doBackground:(void (^)())block
{
//DISPATCH_QUEUE_PRIORITY_HIGH
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,0), ^{
//dispatch_async(dispatch_get_global_queue(-2,0), ^{
block();
});
}
-(void)doBackGround:(void (^)())block onComletion:(void (^)())onCompletion
{
[BGHPTools doBackground:^{
block();
[BGHPTools doForeGround:^{
onCompletion();
}];
}];
}
这样做NSOperation
会更简单吗?
我错过了什么吗?我将如何在 NSoperation 中做同样的事情?