1
示例代碼:有沒有一些快速的方法來測試一個變量是否等於一些枚舉值?
enum myEnum {
case foo, bar, baz
}
var myVar:myEnum = .foo
if myVar == .foo || myVar == .bar {
}
我想知道是否有simplier是寫if條件沒有一個開關(在情況下,我需要與其他條件鏈)?
示例代碼:有沒有一些快速的方法來測試一個變量是否等於一些枚舉值?
enum myEnum {
case foo, bar, baz
}
var myVar:myEnum = .foo
if myVar == .foo || myVar == .bar {
}
我想知道是否有simplier是寫if條件沒有一個開關(在情況下,我需要與其他條件鏈)?
如果你的目標是簡潔的代碼和可讀性,你不擔心潛在的效率問題/未來再調整範圍,您可以:
if [ .foo, .bar ].contains(myVar) {
您可以使用contains
如果你有很多的情況下,以比較:
enum MyEnum {
case Foo, Bar, Baz, Qux // and many more
func isAmong(conditions: [MyEnum]) -> Bool {
return conditions.contains(self)
}
}
用法:
if myVar.isAmong([.Foo, .Bar]) {
// ok
}
尼斯,類型推斷也工作, 那樣。 –