将 NSCalendar 更新为 Swift3



以下代码在 Swift 1 中抛出错误:无法调用非函数类型"日历"的值

class CyclicDay {
lazy var baseline: NSDate? = {
var components = NSDateComponents()
components.day = 02
components.month = 05
components.year = 2018
return NSCalendar.currentCalendar.datefromComponents(components)
}()
}

NSDate 和 NSCalendar 函数的 Swift 3 等价物是什么?

Swift 3NSDateNSDateComponentsNSCalendar的等价物是:

  • Date
  • DateComponents
  • Calendar

实际上,每个(NS)TypeSwift 3中都有等效的Type

现在在 Swift 3 中,你的代码将如下所示:

class CyclicDay {
lazy var baseline: Date? = {
var components = DateComponents()
components.day = 02
components.month = 05
components.year = 2018
return Calendar.current.date(from: components)
}()
}