메인 스레드에서 "작업 진행률"을 나타내는보기를로드하는 동안 백그라운드 스레드에서 실행해야하는 무거운 계산을 수행하는 myButtonAction
메서드가 있습니다. 백그라운드 스레드가 메서드 실행을 완료하자마자 "작업 진행률"뷰를 제거하고 주 스레드에서 다른 뷰를로드해야합니다.스레드 동기화를 보장하는 방법
[self performSelectorInBackground:@selector(myButtonAction) withObject:nil];
[self performSelectorOnMainThread:@selector(LoadView) withObject:nil waitUntilDone:YES];
내가 직면하고 문제는 myButtonAction
가 실행을 완료하기 전에 LoadView
의 실행을 완료한다는 것입니다. myButtonAction
실행이 완료된 후에 만 LoadView
이 실행을 시작하도록하려면 어떻게해야합니까?
참고 : myButtonAction
은 다른 클래스에 메서드 정의가 있습니다.
'myButtonAction'은 편집하지 않아도되는 다른 클래스에 있습니다. –
@XaviValero - 편집 된 게시물을 확인하고, 원할 경우 GCD로 이동할 수도 있습니다. – rishi