SwiftUI View-body의 MainActor와 커스텀뷰
SwiftUI의 View - body는 기본적으로 @ MainActor 매크로를 채택하고 있다.
하지만 여기서 문제
body안에 내가 만든 커스텀 some View를 넣으면 어떻게 될까?
struct ExampleView: View {
var body: some View {
CustomView
}
var CustomView: some View {
Button(action: {
Task {
print(Thread.isMainThread)
}
}) {
Text("버튼입니다.")
}
}
}
내가 생각 했던 가정
MainActor 에서 CustomView 실행시키니깐 MainActor를 채택할 것이다.
정답은 ❌false 가 출력된다
💡
body를 나가는 순간 @ MainActor 속성을 잃게 된다.