How to fix “Referencing initializer ‘init(wrappedValue:)’ on ‘ObservedObject’ requires that ‘SomeType’ conform to ‘ObservableObject’“
SwiftUI/Appendix B 2019. 12. 6. 14:32반응형
Hacking with Swift 사이트의 강좌 번역본입니다.
How to fix “Referencing initializer ‘init(wrappedValue:)’ on ‘ObservedObject’ requires that ‘SomeType’ conform to ‘ObservableObject’“
이 오류는 ObservableObject 프로토콜을 준수하지 않는 타입에서 @ObservedObject property wrapper를 사용하려고 하기 때문에 발생합니다.
예를들어, 다음과 같은 타입을 가지고 있습니다.
class User {
@Published var name = ""
}
다음과 같이 뷰에서 사용합니다.
struct ContentView: View {
@ObservedObject var user = User()
var body: some View {
Text(user.name)
}
}
이 문제를 고치기 위해서, 다음과 같이 타입에 ObservableObject를 준수하도록 추가만 하면 됩니다.
class User: ObservableObject {
@Published var name = ""
}
반응형