Swift - 如何初始化NSDate属性的默认值?

Yar*_*evi 2 datetime nsdate default-value swift

我有一个简单的类定义:

class Course{

    var date:NSDate

    init(){

    }
}
Run Code Online (Sandbox Code Playgroud)

例如,在c#中,创建此类时,date属性的默认值为DateTime.MinValue.

  • 我不想让这个NSDate?因为根据我的业务逻辑,这个属性是必须的,每个课程都有一个日期.(设置为NSDate?意味着课程可以在没有日期的情况下存在)

  • 我不想将它设置为Now,因为它具有误导性.现在可能是一个有效的值,来自我的业务逻辑的其他部分.

我怎样才能在swift中做同样的事情?

Mat*_*uch 9

如果所有课程都需要有效日期,您为什么要创建没有真实日期的课程?摆脱init()并创建一个指定的初始化程序.

class Course{
    let date: NSDate

    init(date: NSDate) {
        self.date = date
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你坚持要使用这些奇怪的"不实际日期" distantPast().

class Course{
    var date: NSDate

    init() {
        self.date = NSDate.distantPast() as NSDate
    }
}
Run Code Online (Sandbox Code Playgroud)