【发布时间】:2018-07-24 14:33:12
【问题描述】:
从下面的 8 位,我想了解哪些日子是活跃的。 但是我想不出一个合适的解决方案。
0b00101101
| |
| Monday
Sunday
我尝试的是:
func getWorkingDays(_ value: Data?) -> String? {
guard let value = value else { return nil }
if value.count == 1 {
let days = calculateDays(value[0])
return days
}
return nil
}
func calculateDays(_ days: UInt8?) -> String? {
switch days {
case 1:
return "Monday"
case 2:
return "Tuesday"
case 3:
return "Monday, Tuesday"
case 4:
return "Wednesday"
......
}
【问题讨论】:
-
stackoverflow.com/questions/24112347/… ?如果您正在寻找其他答案,一些有趣的关键字:位、字段、标志、枚举...
-
您可以将日期声明为自己的二进制值。例如
let monday = 0b00000001然后if( (days | monday) == days) { // monday is on
标签: swift