繁体   English   中英

在Swift中重写NSDate属性

[英]Overriding NSDate property in Swift

我有一个Objective-C类MyClass ,我正在Swift中对其进行子类化。 我试图覆盖lastModifiedDateTime属性,它是NSDate 当我尝试编译以下代码时,出现错误Cannot override mutable property lastModifiedDateTime of type NSDate! with covariant type 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
    }

}

由于超类的属性是指针,因此您需要使子类的属性成为可选的( NSDate? )或隐式解包的可选( NSDate! ),并在适当时添加get / set以匹配超类的访问。

class MySubclass: MyClass {

    var date = NSDate()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM