0
迅速
で、より具体的なタイプのいずれかが、私は、プロトコルます意気消沈
protocol TestProtocol {
func test() -> Int
}
を、私はINTとオプションは、プロトコルに準拠するために拡張します他のタイプはこのプロトコルに準拠しています。
私は、変数の特定のタイプを与える場合、それは[OK]を動作します:
let fff: Int? = 2
print(fff.test())
しかし、変数の型は、任意のある場合:
let kkk: Any = fff
print(kkk.test())
KKKの真のタイプ準拠プロトコルTestProtocolをチェックして取得する方法結果。
、 'Optional'はTestProtocol''に準拠していません。 'Optional'が準拠しているものをラップすると' test() 'メソッドがありますが、それは' Optional'自体が適合するのに十分ではありません。 Swiftには条件付きの適合はありません。あなたは "それらの要素がEquatableの場合、配列は等価である"と言うことはできません。詳細については、https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md#conditional-conformances-を参照してください。 –
ありがとうございました!あなたは私の問題を解決しました! – leizh00701