현재 GCD를 사용 중입니다. 그러나, 나는 NSOperation
가 실제로 더 높은 수준의 프로그램이라고 들었다. 그래도 훨씬 더 복잡합니다. 간단어느 것이 더 사용하기 쉽습니까? GCD 또는 NSOperation?
+(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
으로 그 일 : GCD에서
, 내가 만든이 도우미 기능을 사용하여 간단하게 배경에서 뭔가를하면된다?
내가 누락 된 항목이 있습니까? NS 운영에서 어떻게해야합니까?
그리고 NSOperation도 자체적으로 중첩 된 autorelease 스택을 만들겠습니까? –
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html에는 new라는 메소드가 설명되어 있지 않습니다. 아, alloc의 바로 가기가 있어야합니다] init –
'+ new'는 alloc과 init처럼'NSObject'에서 상속되었습니다. 그리고 네, 각 작업 블록은 자동 복구 풀에 살 것입니다. –