覆盖Swift中的NSDate属性

时间:2015-01-29 18:05:17

标签: ios swift

我有一个Objective-C类MyClass,我在Swift中进行了子类化。我试图覆盖lastModifiedDateTime NSDate属性。当我尝试编译以下代码时,我收到错误Cannot override mutable property lastModifiedDateTime of type NSDate! with covariant type NSDate

有没有办法解决这个错误?

class MySubclass : MyClass {

    var date = NSDate()

    override var lastModifiedDateTime: NSDate {
        return date
    }

}

1 个答案:

答案 0 :(得分:0)

由于超类'属性是一个指针,你需要使子类'#39;属性是可选的(NSDate?)或隐式解包的可选(NSDate!),加上get / set,以匹配超类'访问。

class MySubclass: MyClass {

    var date = NSDate()

    override var myDate: NSDate! {
        get {
            return date;
        }
        set {
            date = newValue;
        }
    }
}