스레드에서 온라인 데이터 가져 오기를 실행하고 있으며 블록 실행 후 즉시 작업을 수행하려고합니다.블록, 완료 핸들러 처리, dispatch_async 대 dispatch_sync
- (IBAction)refresh:(UIBarButtonItem *)sender {
NSLog(@"checking");
[self editToolbar];
dispatch_queue_t fetchQ = dispatch_queue_create("Refreshing", NULL);
dispatch_async(fetchQ, ^{
[self setupFetchedResultsController];
[self fetchImonggoItemsDataIntoDocument: self.itemDatabase];
});
dispatch_release(fetchQ);
NSLog(@"done checking");
//do something here
}
것은이 즉시 블록이 실행을 실행 한 경우에도 직전에 인쇄 "확인 완료"dispatch_async 반환 :
여기 내 코드입니다. 어떻게 해결할 수 있습니까?
블록 끝에서 원하는 것은 무엇입니까? 나는 당신의 질문을 오해하고 있습니까? –
'performBlock :'이 즉시 반환되는 (비동기 적으로 실행되는) 문제입니까? 백그라운드 스레드에있는 한 항상'performBlockAndWait :'가 있습니다. – gregheo
@gregheo 내 편집 된 질문을 참조하십시오. :) 감사! – acecapades