使用swift接受多个枚举作为单个参数

时间:2017-08-13 13:18:42

标签: swift enums

我有几个方法将枚举数组作为参数,但是我看到例如将时间间隔更改为组件时,我调用

    func components(_ unitFlags: NSCalendar.Unit, from startingDate: Date, to resultDate: Date, options opts: NSCalendar.Options = []) -> DateComponents

其中unitFlags接受多个值。例如,即使函数参数未定义为NSCalendar单元数组,我也可以传递[.year, .month]。如何在自定义枚举/函数中实现此行为?

由于

1 个答案:

答案 0 :(得分:2)

  

例如,我可以通过[.year, .month]

这不是一个枚举数组。这是一个Option Set。实际上,这里预期的是一组结构静态属性。

这是一个很好的语法,但它可能不适合你的用例,因为你真的可能想要一个枚举数组。选项集是一种构造和操作位掩码的方法,这不是你所拥有的。