【发布时间】:2015-01-18 12:26:21
【问题描述】:
我可以使用这个简单的代码 sn-p 成功地将一些事件添加到日历中:
var eventStore : EKEventStore = EKEventStore()
eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: {
granted, error in
if (granted) && (error == nil) {
println("Access granted to calendar \(granted)")
println("No error or error is simply \(error)")
var event:EKEvent = EKEvent(eventStore: eventStore)
event.title = fullTitle
event.startDate = startDate
event.endDate = endDate
event.notes = "This is a note"
event.calendar = eventStore.defaultCalendarForNewEvents
eventStore.saveEvent(event, span: EKSpanThisEvent, error: nil)
println("Saved Event")
}
我可以处理错误和授权问题,但我想确保没有重叠,甚至在我将新日历事件与现有事件添加时也不会有重叠。
默认情况下它只是“重载”,我可以同时设置许多事件,但我不希望这种行为......所以,我的意思是 startDate 和 endDate 应该设置在一个空槽上,如果两者之间已经设置了一些东西,我想提前通知。
我阅读了 EventKit 文档,但对我来说有点麻烦,而且我发现的示例与我得到的代码有很多不同,但运行良好。
【问题讨论】:
-
我想我可能没有完全理解这个问题,但是为什么不获取开始和结束日期/时间内的所有事件,如果超过 0,则拒绝添加新事件?
-
@Krumelur 这可能是一个选项,你能给我一个提示或引用我的代码/方法吗?非常感谢。
-
@Krumelur 非常感谢。我读过它,但我不清楚,它都是 Objective-C 代码,它可能已被弃用,简而言之,我找不到可以检查我的日期内是否有任何事件的方法。
-
“都是Objective-C”是什么意思?当然是,它适用于 iOS/Mac。它是 ObjC 或 Swift - 你在用什么?
标签: ios xcode calendar eventkit