har*_*dik 2 icalendar alarm ios ekevent swift
在 EKEvent 中,一旦我没有为事件设置任何警报,我就会在日历应用程序中查看它,它会在 5 分钟前向我显示警报。为什么 ?我不明白。
我的要求
我想在给定特定时间之前设置两个警报,1 个警报,例如“5 分钟、15 分钟、30 分钟、1 小时”。需要在事件时间设置2秒警报。
在搜索如何在事件中添加警报的基础上,我为添加事件做了一些事情,但它不起作用。很多尝试但在日历中没有效果。
请参阅下面的代码,我根据我的要求尝试了两种方式,我使用开关盒,甚至尝试添加单个警报。两者都不起作用。
我该怎么办?
提出任何建议、解决方案、想法
谢谢
let event:EKEvent = EKEvent(eventStore: appleEventStore)
event.title = tempDescription
event.startDate = startDate as Date
event.endDate = endDate as Date
event.isAllDay = false
event.notes = "This is a note"
event.calendar = cal
do {
try appleEventStore.save(event, span: .thisEvent)
print("events added with dates:")
let alarm = EKAlarm(relativeOffset: 600)
event.addAlarm(alarm)
switch tempalertid {
case "1":
let aInterval: TimeInterval = -5 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.addAlarm(alaram)
case "2":
let aInterval: TimeInterval = -15 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.addAlarm(alaram)
case "3":
let aInterval: TimeInterval = -30 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.addAlarm(alaram)
case "4":
let aInterval: TimeInterval = -1 * 60 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.addAlarm(alaram)
default:
break
}
if event.hasAlarms {
print("yes")
}
else {
print("no")
}
} catch let e as NSError {
print(e.description)
return
}
print("Saved Event")
Run Code Online (Sandbox Code Playgroud)
小智 8
let event:EKEvent = EKEvent(eventStore: appleEventStore)
event.title = tempDescription
event.startDate = startDate as Date
event.endDate = endDate as Date
event.isAllDay = false
event.notes = "This is a note"
event.calendar = cal
switch tempalertid {
case "1":
let aInterval: TimeInterval = -5 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.alarms = [alaram]
case "2":
let aInterval: TimeInterval = -15 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.alarms = [alaram]
case "3":
let aInterval: TimeInterval = -30 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.alarms = [alaram]
case "4":
let aInterval: TimeInterval = -1 * 60 * 60
let alaram = EKAlarm(relativeOffset: aInterval)
event.alarms = [alaram]
default:
break
}
do {
try appleEventStore.save(event, span: .thisEvent)
print("events added with dates:")
} catch let e as NSError {
print(e.description)
return
}
print("Saved Event")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3733 次 |
| 最近记录: |