내보기가 나타날 때마다 실행해야하는 장기 실행 작업 (DB에서 복잡한 데이터를 가져 오는 IE)이 있습니다. 나는 성능상의 이유로 장기간의 작업을 메인 스레드에서 벗어나고 싶다. 또한 UI 관련 작업을 수행하기 위해 주 스레드를 다시 가져야한다는 것을 알고 있습니다. 이 작업을 수행하기위한 올바른 GCD 패턴을 파악하려고합니다. 나는 GCD 워드 프로세서에서 보는 바로는,이 일을 할 수있는 "오른쪽"방법이 될 것 같다,하지만 사람들이 더 유용 할 다른 패턴을 찾을 수 있을지 궁금 : 나는 기본적으로 비동기 적으로 말하고viewWillAppear에서 장기 실행 작업에 적합한 GCD 패턴은 무엇입니까?
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Add long running code for off the UI thread here.
dispatch_async(dispatch_get_main_queue(), ^{
// Add UI updating code here back on the UI thread.
});
});
(IE는 UI 스레드를 차단하지 않습니다.) 별도의 스레드로 이동 한 다음 몇 가지 작업을 수행 한 다음 기본 스레드로 돌아가서 UI를 업데이트하십시오.
어떻게 그럴 수 있습니까? – Joe