반응형

 

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-fix-protocol-view-can-only-be-used-as-a-generic-constraint-because-it-has-self-or-associated-type-requirements]

 

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")
    }
}

 

반응형
Posted by 까칠코더
,