我对swift很新,所以我只是希望有人可以帮助我 - 我正在尝试使用UIEventKit向日历添加一个事件(我已经想出了怎么做)但是有两件事情我不确定:
1 - 我希望能够将事件添加到特定日期的下一个实例。例如。下一个星期一
2 - 我希望能够在当天重复该事件一定次数 - 让我们说4。
任何人都可以提供以上任何一项的任何帮助将不胜感激!
这是我到目前为止所拥有的:
func createEvent(eventStore: EKEventStore, title: String, startDate: NSDate, endDate: NSDate){
let event = EKEvent(eventStore: eventStore)
event.title = title
event.startDate = startDate
event.endDate = endDate
event.calendar = eventStore.defaultCalendarForNewEvents
do {
try eventStore.saveEvent(event, span: .ThisEvent)
}catch {
let alertView = UIAlertController(title: "Access Denied", message: "Please change your settings to allow us to access your calendar", preferredStyle: UIAlertControllerStyle.Alert)
alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alertView, animated: true, completion: nil)
}
}
@IBAction func addToCalendar(sender: UIButton) {
let eventStore = EKEventStore()
let startDate = NSDate()
let endDate = startDate.dateByAddingTimeInterval(60 * 30)
if (EKEventStore.authorizationStatusForEntityType(.Event) != EKAuthorizationStatus.Authorized) {
eventStore.requestAccessToEntityType(.Event, completion: {
granted, error in
self.createEvent(eventStore, title: "Psychology Lecture", startDate: startDate, endDate: endDate)
})
}else {
createEvent(eventStore, title: "Psychology Lecture", startDate: startDate, endDate: endDate)
}
}
答案 0 :(得分:1)
我希望能够将该事件添加到特定日期的下一个实例。例如。下一个星期一
您如何处理应用的用户界面?这种情况的最佳选择是显示日期选择器 - 并让用户选择日期。然后,您可以为该特定日期创建一个事件。
我希望能够在当天重复播放该事件一定次数 - 比方说4。
这是用于创建重复事件的documentation,并且您似乎无法在特定日期重复出现n次事件。
我建议 - 用不同的时间创建活动或创建一整天的活动。
全日活动
event.allDay = true
为了用不同的时间创建活动 - 我用不同的时间来庆祝这一天
createEvent(eventStore, title: "Psychology Lecture", startDate: startDate, endDate: endDate)
//Bump up the time by 30 minutes
startDate = startDate.dateByAddingTimeInterval(60 * 30)
endDate = endDate.dateByAddingTimeInterval(60 * 30)
self.createEvent(eventStore, title: "Another Psychology Lecture", startDate: startDate, endDate: endDate)
这有帮助吗?