使用单个保护套匹配多个枚举?

时间:2016-10-22 11:48:47

标签: swift enums

我希望与多个枚举匹配并具有以下内容:

guard case .north = $0, case .south = $0 else { return }

有没有办法将这个缩小为这样的单个语句?

guard case (. north, . south) = $0 else { return }

上面没有编译,但希望我可以做这样的事情。还有其他选择吗?

1 个答案:

答案 0 :(得分:8)

您可以将所需的案例放入文字数组中,并使用contains来测试匹配项:

guard [.north, .south].contains($0) else { return }