Avatar ·

Que signifie le mot-clé `some` en Swift (et SwiftUI) ? Explication pour débutants

Bonjour à tous ! J'apprends Swift et SwiftUI, et je vois constamment le mot-clé `some` dans le code. Par exemple : ```swift struct ContentView: View { var body: some View { Text("Hello, World!") } } ``` Je comprends que `some` se place avant le type `View`, mais je ne comprends pas à quoi il sert. Pourquoi ne peut-on pas simplement écrire `var body: View` ? Après tout, `Text` est aussi une `View`. J'ai essayé d'enlever `some` — Xcode râle et dit quelque chose à propos des protocoles. J'ai lu que cela est lié aux Opaque Types (types opaques) et au fait que Swift ne peut pas travailler avec des protocoles qui ont Self ou des associated types. Mais cela semble très compliqué. Expliquez-moi, s'il vous plaît, en termes simples : que fait `some`, pourquoi est-il nécessaire en SwiftUI, et comment cela fonctionne sous le capot ? Donnez des exemples où `some` est obligatoire et où on peut l'omettre. Merci d'avance ! <<>>

Le mot-clé some est un "type opaque" (Opaque Type)

Imaginez que vous commandez un taxi. Vous