스위프트 문서는 프로토콜이 다른 유형과 같이 취급되지만 몇 가지 예를 살펴보면 프로토콜 대신 '유형 제약 조건'구문이 사용되고 있음을 알 수 있습니다.스위프트에서 유형 제약 조건을 언제 사용합니까?
은의이 예를 들어 스위프트 사전을 보자
는struct Dictionary<Key: Hashable, Value>: CollectionType, DictionaryLiteralConvertible {
// ...
subscript (key: Key) -> Value?
// ...
}
이
struct Dictionary<Value>: CollectionType, DictionaryLiteralConvertible {
// ...
subscript (key: Hashable) -> Value?
// ...
}
처럼 기록 된 수 없다고?
과 함께 유용한 유형 제약 조건을 볼 수 있습니다. 여기에서은 연관된 유형이있는 유형을 조건으로하지만이 특정 예는 확실하지 않습니다.
"두 번째 예에서는 사전 키가 Hashable이어야하며 모든 키가 동일한 구체 유형이 아니어야합니다." 감사! –