gpt4 book ai didi

Swiftui Eventkit - 为特定日期创建事件

转载 作者:行者123 更新时间:2023-11-28 06:46:57 30 4
gpt4 key购买 nike

我是 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)
}
}

最佳答案

I want to be able to add the event to the next instance of a particular day. eg. the next coming Monday

您如何处理应用程序的用户界面?这种情况的最佳选择是显示日期选择器 - 并让用户选择日期。然后您可以为该特定日期创建一个事件。

I want to be able to have that event recurring on that day a certain number of times - lets say 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)

这有帮助吗?

关于Swiftui Eventkit - 为特定日期创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36074129/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com