如何将 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/
我有一个 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/