如何检查枚举是否等于可能的情况之一。有没有比以下更好的解决方案:

[.orderedAscending, .orderedSame].contains(Calendar.current.compare(date, to: range.from, toGranularity: .day))


我认为这还不清楚,我正在寻找更好的方法。

编辑:

根据@Martin_R当然,在这个示例中,我可以做负均衡:

Calendar.current.compare(date1, to: date2, toGranularity: .day) != .orderedDescending


这里使用的ComparisonResult只是一个例子。我在寻找更通用的解决方案答案。例如,如果枚举会有更多的情况呢?

最佳答案

为什么不执行这种方式打开结果:

let result = alendar.current.compare(date1, to: date2, toGranularity: .day)

switch result {
   case orderedAscending:
     // actions
   case orderedSame:
     //actions
   default: break
}


这更具可读性和清晰度

关于swift - Swift Enums,`OR`均衡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49381685/

10-10 21:33