• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

126강에서 다룬 메인스레드와 백그라운드 스레드에 대해서 좀 더 자세히 설명해주실 수 있나요?

16.07.20 01:13 작성 조회수 184

0

이제 거의 종강을 눈앞에 두고 달리고 있습니다. 그런데 126강에서 갑자기 스레드랑 관련된 설명들이 나오던데 메인스레드와 백그라운드 스레드에 대해서 조금만 더 자세히 설명해주실 수 있나요? 왜 self.imgView.image= UIImage(data:data)가 백그라운드 스레드이고, NSOperationQueue.mainQueue()를 이용해서 메인스레드에 접근을 해서 이미지를 바꿔야하는 것인가요? 둘이 뭐가 어떻게 다른 것인지 설명을 좀 부탁드리겠습니다.

답변 1

답변을 작성해보세요.

0

mainQueue()라고 하는건 메인큐를 쓰겠다는 얘기예요.
비동기 클래스인 NSURLSession 이 자동으로 백그라운드 쓰레드 만들어서 알아서 해줄겁니다. 단지 통신이 백그라운드 스레드가 돌아 가는 거구요, 정작 우리는 메인 쓰레드에 백그라운드 쓰레드가 동작하면서 다운 받은것을 반영 해야되잖아요 그 반영이라는건 image 받은걸 화면에서 적용하는 거겠죠. 우리가 보는 화면이 메인 화면이구요 이게 main thread입니다.
그래서 mainQueue(main thread queue) 를 불러서 거기에 반영하라고 하는 부분 입니다.

이제 다 보셨네요. 무사히 정주행 하신거 축하 드려요.