someって何・・?
注意:こちらは調査中のため誤っている記述がある可能性があります。必ず他の文献も参考にしてください。
たとえば
func hoge() -> some View
someを入れないと Protocol 'SomeProtocol' can only be used as a generic constraint because it has Self or associated type requirements.
訳:プロトコル 'SomeProtocol' は、Self または関連する型要件を持っているため、一般的な制約としてのみ使用できます。
someとは
Swift 5.1で追加されたOpaque Result Typesのこと
swift-evolution/0244-opaque-result-types.md at master · apple/swift-evolution · GitHub
はい。知らないことを調べるとさらに知らない単語が出るやつ Opaque Result Typesって何?
Opaque Result Types
直訳で 不透明な結果タイプ。 generics的なことではなく、型を隠蔽してくれるらしい。
some ViewはViewの型を満たしているが厳密ではViewではない型。
これでなにが嬉しいの??
例えばViewの型だと色々入っているけど、全て使うわけでなくパフォーマンスロスが大きい。 そこでsomeを使うことにより必要な分だけ使用することが可能。 また、内部の実装を隠蔽することが同時に可能。