键入类型为变量的类型

时间:2017-06-06 09:51:36

标签: swift swift3 casting

是否可以将对象转换为存储在成员变量中的类型?

我试过这个:

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'”

1 个答案:

答案 0 :(得分:1)

没有。类型转换是编译时间的事情。它允许编译器知道可用的方法以及如何进行链接。

您可以使用Mirror在运行时收集有关对象的信息,但看起来动态调用方法仍然只能在从NSObject派生的类上完成。