我有一个 SomeClass
数组,它是各种其他类的父类(super class)。
该数组包含所有这些随机类。
有没有办法使用 switch(而不是 else if let something = elm as?TheSubClassType
)
在伪代码中:
for AObjectOfTypeSomeClass in MyBigArray{
switch the_type_of(AObjectOfTypeSomeClass){
case SubClass1:
let O = AObjectOfTypeSomeClass as! SubClass1
...
...
...
}
}
最佳答案
你很接近。
for objectOfSomeClass in MyBigArray {
switch objectOfSomeClass {
case let subClass as SubClass1:
// Do what you want with subClass
default:
// Object isn't the subclass do something else
}
}
这个网站有我发现的最好的模式匹配概要。 http://appventure.me/2015/08/20/swift-pattern-matching-in-detail/
关于swift - 如何在 swift 中使用带有开关的 AS 来获取类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378283/