Daily iOS
동시성

iOS 동시성 수단 선택

새 iOS 기능에서 네트워크 결과를 여러 화면이 공유하고 UI도 갱신해야 합니다. Swift Concurrency의 async/await, Task, actor를 각각 어떤 역할에 쓰겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

async 함수는 네트워크처럼 기다리는 일을 순서대로 쓰는 문법이고, Task는 동기 코드(버튼 탭, viewDidLoad)에서 그 async 세계로 들어가는 출발점이며, actor는 여러 Task가 같이 만지는 응답 캐시 같은 가변 상태를 감싸 접근을 직렬화하는 곳이다. UI 갱신은 @MainActor로 격리된 ViewModel에서 한다.

받은 질문 공유