【发布时间】:2019-06-26 13:13:01
【问题描述】:
遵循此代码sn-p。我试图了解是否可以在 Switch 语句中访问对象的嵌套属性,而无需在“案例”本身内展开属性(避免不必要的闭包)。 这是一个愚蠢的简单示例。当然,编译器会失败(下图的代码 sn-p):
class Z {
var common = 4
}
class A: Z {
}
class B: Z {
}
class C: Z {
var specific: String? = "%"
}
let unknown = Z()
switch (unknown, unknown.common) {
case (let a as A, 4):
break
case (let b as B, 4):
break
case (let c as C, 4), let nonNilSpecific as? String:
// use nonNilSpecific WITHOUT unwrap it within the case clousre
break
default: break
}
【问题讨论】:
标签: swift switch-statement pattern-matching