Swift UIEventKit-为特定日期创建事件
我对swift还很陌生,所以我只是希望有人能帮助我-我正在尝试使用UIEventKit将一个事件添加到日历中(我已经知道如何做),但是有两件事我不确定: 1-我希望能够将事件添加到特定日期的下一个实例中。下个星期一 2-我希望能够让那个事件在那天重复一定次数-比如说4次 任何人如能提供上述任何一项帮助,将不胜感激 以下是我目前掌握的情况:Swift UIEventKit-为特定日期创建事件,swift,uievent,Swift,Uievent,我对swift还很陌生,所以我只是希望有人能帮助我-我正在尝试使用UIEventKit将一个事件添加到日历中(我已经知道如何做),但是有两件事我不确定: 1-我希望能够将事件添加到特定日期的下一个实例中。下个星期一 2-我希望能够让那个事件在那天重复一定次数-比如说4次 任何人如能提供上述任何一项帮助,将不胜感激 以下是我目前掌握的情况: func createEvent(eventStore: EKEventStore, title: String, startDate: NSDate, en
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)
}
}
我希望能够将事件添加到特定日期的下一个实例中。下个星期一
您如何处理应用程序的UI?对于这种情况,最好的选择是显示日期选择器,并让用户选择日期。然后,您可以为该特定日期创建一个事件
我希望能够让那个事件在那天重复一定次数——比如说4次
以下是创建重复事件的方法,您似乎无法在特定的一天中让事件重复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)
这有帮助吗?Hi Karthik,非常感谢您抽出时间与我联系-不幸的是,如果他们不得不选择自己的日期来存储事件,可能会影响用户体验(因为这将是每周都会发生的事情)。关于重复发生的事件,我认为我没有很好地表达这个问题,因为我实际上是想让事件在未来4周的同一天发生一次,而不是在同一天——我不确定这是否是可能的?