35.2. Thread와 Loading 표시 - performSelectorInBackground:, performSelectorOnMainThread:

iOS 에서 로딩표시를 networkActivityIndicatorVisible 속성으로 간단히 코딩할 수 있습니다. 하지만, 같은 쓰레드에서 화면의 변화와 로딩을 동시에 처리하지 못하는 문제가 있습니다.

다음과 같이, NSData dataWithContentsOfURL: 메소드를 이용해서 파일을 서버에서 다운받을 경우가 같은 쓰레드에서 로딩표시를 할수 없는 경우입니다. 이 경우 performSelectorInBackground: 메소드를 이용해서 쓰레드(Thread)를 백그라운드로 분리하여 다운로드를 하게하는 방법입니다.

그리고, 백그라운드 쓰레드에서 실행할 명령이 완료된 후, 메인 쓰레드에서 실행할 명령은 performSelectorOnMainThread: 로 실행해야 원하는 명령을 화면에 출력할 수 있습니다.