微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – Swift:协议默认实现 – didSet

我怎样才能将认实现didSet设置为protocol var
我试试,但我有错误

Extensions may not contain stored properties

protocol MyProtocol {
    var contact: MyContact? { get set }
}

extension MyProtocol {
    var contact: MyContact? {
        didSet {
            // some code
        }
    }
}

解决方法

来自文档:

Extensions can add new computed properties,but they cannot add stored properties,or add property observers to existing properties.

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html#//apple_ref/doc/uid/TP40014097-CH24-ID151

如果要设置联系人的认值,则必须是计算属性.

extension MyProtocol {
  var contact: MyContact? {
    return MyContact()
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐