更新 NSCalendar 到 Swift3

Updating NSCalendar to Swift3

下面的代码,在Swift1,抛出错误:Cannot call value of non-function type'Calendar'

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 个等价物是什么?

NSDateNSDateComponentsNSCalendar 对于 Swift 3 的等价物是:

  • Date
  • DateComponents
  • Calendar

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

现在在 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)
    }()
}