打开Any.Type

Phi*_*lip 4 swift

我正试图在swift中打开一个类型.我不是试图打开对象实例的类型,我试图打开实际类型本身.例如:

 let t: Any.Type = Int.self
 switch t {
 case is Int:
     print("int")
 default:
     print("other")
 }
Run Code Online (Sandbox Code Playgroud)

我希望这打印"int"但它属于默认情况.

我可以使用if语句完成所需的结果,如,

 if t == Int.self
 {
     print("t is an int")
 }
Run Code Online (Sandbox Code Playgroud)

但是我希望通过开关来实现这一目标.我读过Apple的'Type Casting'文档,可能还不够彻底,因为我看不到在这里应用它的方法.

Phi*_*lip 11

Xcode在上述情况下生成以下警告:"从'Any.Type'转换为无关的Type'Int'总是失败",这提示了正确的方法:

 let t: Any.Type = Int.self
 switch t {
 case is Int.Type:
     print("Int")
 default:
     print("Other")
 }
Run Code Online (Sandbox Code Playgroud)