2017-06-06 6 views
1

メンバ変数に格納されている型にオブジェクトをキャストすることは可能ですか?変数型の型キャスト

私はこれを試してみた:

let targetClass = type(of: MyTargetClass) 
... 

if anyObject is targetClass { // ERROR: use of undeclared type 'targetClass' 
let test = anyObject as! targetClass // ERROR: use of undeclared type 'targetClass' 
} 

をしかし、それが言うので、それは動作しません「宣言されていないタイプの使用が 『targetClass』」

答えて

0

号型キャストは、コンパイル時のものです。これは、どのメソッドが利用可能か、どのようにリンクを行うかをコンパイラに知らせます。

Mirrorを使用すると、実行時にオブジェクトに関する情報を収集できますが、メソッドを動的に呼び出すことは、NSObjectから派生したクラスでのみ実行できます。