2014-06-06 1 views
2
나는 매우 일반적으로이 패턴 다음 코드를 작성

:dispatch_get_main_queue 8

- (void)doLongTaskAsync:(CompletionBlock)completion 
{ 
    dispatch_async(backgroundQueue, ^{ 
     // Do Long Running Calculation 

     dispatch_async(dispatch_get_main_queue(), ^{ 
      completion(); 
     }); 
    }); 
} 

dispatch_get_main_queue되지 않는 경우, 코드의이 스타일에 대한 대체 무엇인가? 현재 NSOperationQueue은 코드를 스레드하는 유일한 방법입니까?

+0

dispatch/queue.h별로 사용되지 않습니다. 오류 메시지를 표시하십시오. – zaph

+0

https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS80APIDiffs/index.html#//apple_ref/doc/uid/TP40014455 텍스트 검색 "/usr/include/dispatch/object.h "(따옴표없이) –

+1

그것은 더 이상 사용되지 않으며, 단지 매크로 대신 인라인 함수로 다시 구현되었습니다 (Swift와의 호환성을 위해) – das

답변

1

das의 주석에서 설명한 것처럼이 함수는 더 이상 사용되지 않지만 매크로 대신 인라인 함수로 리팩터링됩니다.