我有几个方法将枚举数组作为参数,但是我看到例如将时间间隔更改为组件时,我调用
func components(_ unitFlags: NSCalendar.Unit, from startingDate: Date, to resultDate: Date, options opts: NSCalendar.Options = []) -> DateComponents
其中unitFlags
接受多个值。例如,即使函数参数未定义为NSCalendar单元数组,我也可以传递[.year, .month]
。如何在自定义枚举/函数中实现此行为?
由于
答案 0 :(得分:2)
例如,我可以通过
[.year, .month]
这不是一个枚举数组。这是一个Option Set。实际上,这里预期的是一组结构静态属性。
这是一个很好的语法,但它可能不适合你的用例,因为你真的可能想要一个枚举数组。选项集是一种构造和操作位掩码的方法,这不是你所拥有的。