Que signifie le mot-clé `some` en Swift et SwiftUI ?
Bonjour ! J'ai commencé à apprendre Swift et SwiftUI, et je tombe constamment sur le mot étrange `some` dans les déclarations de View. Par exemple, voici un code standard :
```swift
struct ContentView: View {
var body: some View {
Text("Hello, world!")
}
}
```
Je comprends que `var body: some View` est une propriété qui retourne une certaine View. Mais pourquoi `some` ici ? Pourquoi ne peut-on pas simplement écrire `var body: View` ? J'ai essayé d'enlever `some`, et Xcode affiche une erreur : "Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements". Qu'est-ce que cela signifie ?
J'ai lu la documentation d'Apple, mais c'est écrit de manière complexe : "opaque return type", "existential type"... Pouvez-vous expliquer en termes simples pourquoi ce mot-clé est nécessaire, quand l'utiliser et comment il fonctionne ? Je suis particulièrement intéressé par la raison pour laquelle on ne peut pas s'en passer dans SwiftUI, alors qu'avec des protocoles ordinaires on peut parfois s'en sortir. Donnez des exemples pour que ce soit clair pour un débutant.
Merci d'avance !
<<>>