2015-11-30 6 views
5

変数に基づいてタイプをキャストしようとしています。以下の例は、「宣言されていないタイプの使用 『MYTYPE』」と言って失敗しタイプの変数を使用して迅速にキャストする方法

protocol Parent {} 
protocol Child: Parent {} 

struct Foo: Child {} 

let foo: Parent = Foo() 

let myType = Child.self 

if let _ = foo as? myType { 
    print("success") 
} 

変数myTypeをもとにキャストする方法はありますか?

答えて

1

反射したところで、キャスティングはここで質問するのが正しい質問ではありません。ここで私は適合性をチェックしています。静的アナライザーが可変型に基づいてキャストしている場合、静的アナライザーがその処理方法を知る方法がないため、動的キャスティングは役に立ちません。

関連する問題