삽질 이야기
[SwiftUI] if 문으로 뷰를 나타내는 경우에 발생하는 오류
_히처리_
2023. 8. 27. 09:27
SwiftUI에서 if 문을 이용해서 뷰를 보이거나 숨길 수 있다.
나는 VStack에서 두 개의 if문을 사용하니 다음과 같은 에러가 발생했다.
the compiler is unable to type-check this expression in reasonable time;
try breaking up the expression into distinct sub-expressions
if 문이 하나일 때는 문제가 없는데, 두 개가 되니 문제가 발생했다.
해당 문제를 해결하기 위해서 여러 삽질 끝에 조건이 거짓인 경우에는 EmptyView()를 사용하는 것으로 하니 해결되었다.
심지어 이렇게 코드를 고치고 나니 미리 보기 로딩도 빨라졌다.
앞으로는 무조건 if문 사용 시 else에 EmptyView()를 넣어야겠다.
if hasText {
Text("Welcome")
} else {
EmptyView()
}