Swift枚举的非详尽模式匹配

时间:2016-06-27 21:49:23

标签: swift enums pattern-matching

我有一个枚举我想只为某些情况执行代码而在其他时间都不执行任何操作(非详尽无遗)

这似乎对Swift来说过于冗长

if num == .One || num == .Two || num == .Three || num == .Four {
    //code
}

这让我有一个默认情况,我想什么都不做,但仍然需要添加类似print

的内容
switch num {
case .One, .Two. Three, .Four:
    //code
default:
    print("do nothing but I still need to put something here")
}

我想做这样的事情......它存在于Swift中吗?

if case .One, .Two, .Three, .Four == num {
    //code            
}

2 个答案:

答案 0 :(得分:4)

if [.One, .Two, .Three, .Four].contains(num) {

答案 1 :(得分:3)

您始终可以添加默认情况而不执行任何操作:

switch value {
case .One:
    Some code here

default:
    break
}

break总是可以用来表示案件没有动作,以及明确终止行动