
프론트엔드
당신의 View는 Main Actor 일 수 있다
두줄요약
SwiftUI View에서 `task`의 실행 맥락과 `MainActor` 보장 여부를 살펴보셨습니다. Swift 6에서는 property wrapper에 의한 actor inference가 제거되므로 `@MainActor` 명시가 중요합니다.
핵심 내용
- SwiftUI View의
taskmodifier 실행 맥락과MainActor보장 여부를 실험적으로 확인 View.body는@MainActor,task의 action은@_inheritActorContext로 동작@StateObject의wrappedValue가@MainActor라서 View 전체에 actor isolation이 전파될 수 있음- Swift 6에서는 property wrapper에 의한 actor isolation inference가 제거되고, 필요 시
@MainActor를 명시하는 방향 권장
적용해볼 점
- View의 helper property나 function에
@MainActor를 명시해 의도한 isolation 범위 유지 - Swift 5 환경에서는
-enable-upcoming-feature DisableOutwardActorInference플래그 검토
