Daily iOS
동시성

MainActor 격리

Swift Concurrency에서 @MainActor를 뷰모델 클래스 전체에 붙이는 것과 특정 메서드에만 붙이는 것은 무엇이 다른가요?

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

타입에 붙이면 저장 프로퍼티와 메서드 전체가 메인 액터에 격리되어 다른 컨텍스트에서는 await가 강제되고, 메서드에만 붙이면 그 메서드만 메인에서 실행되고 나머지 상태는 보호되지 않는다. nonisolated는 불변 데이터·순수 계산을 격리에서 빼는 데 쓴다.

받은 질문 공유