How to fix “Protocol ‘View’ can only be used as a generic constraint because it has Self or associated type requirements”
SwiftUI/Appendix B 2019. 12. 6. 12:32반응형
Hacking with Swift 사이트의 강좌 번역본입니다.
How to fix “Protocol ‘View’ can only be used as a generic constraint because it has Self or associated type requirements”
이것은 특히 혼란스러운 문제이고, SwiftUI가 불투명한(opaque) 반환 타입에 크게 의존하기 때문에 발생합니다. 이 문제는 다음과 같은 코드 때문에 발생합니다.
struct ContentView: View {
var body: View {
Text("SwiftUI")
}
}
아주 작은 것 같지만, body 프로퍼티는 some View 보다는 View를 반환하는 것으로 선언됩니다. 이 차이점은 작지만 중요합니다 - How to use opaque return types in Swift 5.1 글에서 더 자세한 것을 알 수 있을 것입니다.
따라서, 해당 문제를 수정하기 위해 대신 다음을 사용합니다.
struct ContentView: View {
var body: some View {
Text("SwiftUI")
}
}
반응형