坚持创建事件和格式化日期(Swift - EventKit - OS X)

Stuck with creating an event and formatting dates (Swift - EventKit - OS X)

我一直坚持尝试对新事件进行硬编码。我的困难尤其在于日期和格式

let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "MM'/dd'/YYYY"
    var dateString = "07/16/2015"
    var startDate = dateFormatter.dateFromString(dateString)
    var endDate = dateFormatter.dateFromString(dateString)


    var newEvent : EKEvent = EKEvent(eventStore: store)
    var error : NSError? = nil
    newEvent.title = "physiotherapy"
    newEvent.location = "London"
    newEvent.startDate = startDate
    newEvent.endDate = endDate
    newEvent.notes = "testing the event"

    self.store.saveEvent(newEvent, span: EKSpanThisEvent, commit: true, error: nil)

1) 对于我如何正确实现这一点的一些帮助将不胜感激

2) 另外,如何引用要使用的日历?

谢谢,

年份使用 "yyyy",而不是 "YYYY"。

"Y" 表示 "Week of Year"

的年份

参见:ICU Formatting Dates and Times

dateString 与您指定的格式不匹配。为什么不使用内置的短样式?

这似乎有效:

let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .ShortStyle
var dateString = "07/16/2015"
var startDate = dateFormatter.dateFromString(dateString)
var endDate = dateFormatter.dateFromString(dateString)

startDateendDate 是可选的,所以你必须打开它们。在此示例中,我使用的是 force-unwrap 运算符:

newEvent.startDate = startDate!
newEvent.endDate = endDate!

但是,如果不能保证输入数据产生有效的 NSDate,您应该正常解包可选值并处理错误情况。