我无法理解这个问题,即使我调试我的代码,我在模型类变量中选择正确的日期值,然后为什么结果不同?
建议我任何解决方案或想法。
感谢
var days = [EKRecurrenceDayOfWeek]()
if routineData.routine_monday == 1 {
days = [EKRecurrenceDayOfWeek(.monday)]
}
if routineData.routine_tuesday == 1 {
days = [EKRecurrenceDayOfWeek(.tuesday)]
}
if routineData.routine_wednesday == 1 {
days = [EKRecurrenceDayOfWeek(.wednesday)]
}
if routineData.routine_thursday == 1 {
days = [EKRecurrenceDayOfWeek(.thursday)]
}
if routineData.routine_friday == 1 {
days = [EKRecurrenceDayOfWeek(.friday)]
}
if routineData.routine_saturday == 1 {
days = [EKRecurrenceDayOfWeek(.saturday)]
}
if routineData.routine_sunday == 1 {
days = [EKRecurrenceDayOfWeek(.sunday)]
}
let rule = EKRecurrenceRule(recurrenceWith: .weekly, interval: 1, daysOfTheWeek: days as? [EKRecurrenceDayOfWeek], daysOfTheMonth: nil, monthsOfTheYear: nil, weeksOfTheYear: nil, daysOfTheYear: nil, setPositions: nil, end: nil)
event.addRecurrenceRule(rule)
答案 0 :(得分:1)
您可以将日期定义为EKRecurrenceDayOfWeek数组,如
let days = [EKRecurrenceDayOfWeek]()
或者您应该将NSMutableArray
转换为预期的参数类型[EKRecurrenceDayOfWeek]
let rule = EKRecurrenceRule(recurrenceWith: .weekly, interval: 1, daysOfTheWeek: days as? [EKRecurrenceDayOfWeek], daysOfTheMonth: nil, monthsOfTheYear: nil, weeksOfTheYear: nil, daysOfTheYear: nil, setPositions: nil, end: nil)
答案 1 :(得分:0)
我在dayOfTheWeek中设置了mutable-array。见下面的代码。
let tempDays = NSMutableArray()
if routineData.routine_monday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.monday))
//days = [EKRecurrenceDayOfWeek(.monday)]
}
if routineData.routine_tuesday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.tuesday))
}
if routineData.routine_wednesday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.wednesday))
}
if routineData.routine_thursday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.thursday))
}
if routineData.routine_friday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.friday))
}
if routineData.routine_saturday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.saturday))
}
if routineData.routine_sunday == 1 {
tempDays.add(EKRecurrenceDayOfWeek(.sunday))
}
print("day selected\(tempDays)")
let rule = EKRecurrenceRule(recurrenceWith: .weekly, interval: 1, daysOfTheWeek: tempDays as? [EKRecurrenceDayOfWeek], daysOfTheMonth: nil, monthsOfTheYear: nil, weeksOfTheYear: nil, daysOfTheYear: nil, setPositions: nil, end: nil)
event.addRecurrenceRule(rule)