How to fix “Fatal error: No ObservableObject of type SomeType found”
SwiftUI/Appendix B 2019. 12. 6. 14:15반응형
Hacking with Swift 사이트의 강좌 번역본입니다.
How to fix “Fatal error: No ObservableObject of type SomeType found”
environment 객체를 사용할때, SwiftUI는 environment에 맞는 타입을 찾아서 프로퍼티에 자동으로 연결합니다. 따라서 User 타입의 environment 프로퍼티가 있는 경우에, SwiftUI는 사용되기전에 environment에서 해당 속성을 찾을 것으로 예상합니다.
이 오류는 일치하는 객체를 찾을 수 없을때 발생하며, 보통 environment에 넣은 것을 잊어버리거나, 잘못된 environment에 넣은 경우입니다. SwiftUI 앱에서 여러개의 environment를 활성화 할수 있습니다: 예를들어 TabView에 있는 각각의 탭에 대해서 개별적인 environments를 가질 수 있습니다.
이 문제를 해결하기 위해, 다음과 같이 크래쉬(crash)가 나는 뷰에 올바른 environment가 설정되어 있는지 확인해야 합니다.
YourView().environmentObject(yourEnvironmentObject)
반응형