【发布时间】:2016-07-18 22:02:39
【问题描述】:
我想这样做:
let myClass: AnyClass = functionReturningClass() // ex. String.self
if let myObject = functionReturningObject() as? myClass { ...
as? myClass 无法编译('myClass 不是类型')。我能做什么?
【问题讨论】:
-
您真正需要做什么?
-
在您的代码中,myClass 是一个常量的名称。您那里的第一行代码说“有一个名为 myClass 的常量,它可以是任何对象类型,其值由 functionReturningClass() 返回的内容给出”
-
尝试让子类提供不同的类型
-
现在 myClass 不是一个类型,它是一个 AnyClass 类型的变量。所以就像 appzYourLife 说的,你真正需要做什么?
-
我不认为您可以在运行时快速进行类型转换,我想这就是我的困惑所在。我建议使用 isKindaClass 方法。
标签: swift casting type-conversion