[iOS] 왜 꼭 Main Thread에서만 UI를 그려야 할까?
오늘 넥스터즈 면접을 봤다. 면접관님께서 Main Thread에서만 UI를 그리는 이유를 물어보셨는데, 평소 이런 측면에 대해 생각해 보는 것을 소홀히 해서 제대로 대답을 못한 것이 한으로 남아... 이렇게 이유를 적어본다. 그리고 많은 iOS 개발자들이 Main Thread에서 UI를 그리지 않는다면 보라색 에러가 나타나는 것을 보았을 텐데, 왜 그런지 정리해보겠다. 1. Thread safe 우선 결론은 Main Thread에서 UI를 업데이트해줘야만 하는 이유는UIKit이 Thread safe 하지 않기 때문이다. 여기서 Thread safe 하다란 무엇일까? 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제..