我正试图在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)
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |