如何将 AS 与 swift 中的开关一起使用以获得 class 类型

How do I use AS with a switch in swift to get the class type

我有一个 SomeClass 的数组,它是其他各种 class 的超级 class。
该数组包含所有这些随机 classes。
有没有办法使用开关(而不是 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/