Ios 在Swift中设置警报时有关日期设置的问题
我使用选项创建了一个SchedulePicker 在此之后,我还创建了一个函数,该函数将从0到127的天数转换为字符串Ios 在Swift中设置警报时有关日期设置的问题,ios,swift,Ios,Swift,我使用选项创建了一个SchedulePicker 在此之后,我还创建了一个函数,该函数将从0到127的天数转换为字符串 struct WeekDay { let rawValue: Int let name: String static let mon = WeekDay(rawValue: 1, name: "Monday") static let tue = WeekDay(rawValue: 1<<1, name: "Tuesday") static le
struct WeekDay {
let rawValue: Int
let name: String
static let mon = WeekDay(rawValue: 1, name: "Monday")
static let tue = WeekDay(rawValue: 1<<1, name: "Tuesday")
static let wed = WeekDay(rawValue: 1<<2, name: "Wednesday")
static let thu = WeekDay(rawValue: 1<<3, name: "Thursday")
static let fri = WeekDay(rawValue: 1<<4, name: "Friday")
static let sat = WeekDay(rawValue: 1<<5, name: "Saturday")
static let sun = WeekDay(rawValue: 1<<6, name: "Sunday")
static let all: [WeekDay] = [.mon, .tue, .wed, .thu, .fri, .sat, .sun]
func isIncluded(in schedule: Int) -> Bool {
return schedule & rawValue == rawValue
}
}
fileprivate func convertSchedule(_ schedule: Int) -> String {
var daysToRepeat = WeekDay.all.filter({ $0.isIncluded(in: schedule) })
if daysToRepeat.count == 0 {
return "none"
} else if daysToRepeat.count == 1 {
return "Every \(daysToRepeat[0].name)"
} else {
return daysToRepeat.map({ $0.name }).joined(separator: ",")
}
}
struct工作日{
让rawValue:Int
let name:String
静态let mon=WeekDay(原始值:1,名称:“星期一”)
静态let tue=WeekDay(rawValue:1我想知道问题是否不是表示的初始选择。我会这样做:
enum Weekday : Int, CaseIterable {
case mon = 1
case tue
case wed
case thu
case fri
case sat
case sun
var name : String {
let greg = Calendar(identifier: .gregorian)
let dayNames = greg.weekdaySymbols
return dayNames[self.rawValue]
}
}
这使得操作信息非常容易:
let weekdaysChosen : [Weekday] = [.mon, .tue, .fri] // example
let namesOfWeekdays = weekdaysChosen.map{$0.name}.joined(separator: ", ")
print(namesOfWeekdays) // "Mon, Tue, Fri"
let numbersOfWeekdays = weekdaysChosen.map{$0.rawValue}
print(numbersOfWeekdays) // [1, 2, 5]
不清楚问题是什么。如果您知道日期,您知道工作日,那么问题是什么?请重新措辞,或者提供示例输入和输出,最好两者都提供。我的问题是如何将已知的计划日期(0~127)
替换为日期组件()
工作日