我如何设置默认实现 didSet 到协议 var 我试试,但我有错误
扩展名可能不包含存储的属性
protocol MyProtocol { var contact: MyContact? { get set } } extension MyProtocol { var contact: MyContact? { didSet { // some code } } }
来自文档:
扩展可以添加新的计算属性,但它们不能添加存储的属性,也不能将属性观察器添加到现有属性 .
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html#//apple_ref/doc/uid/TP40014097-CH24-ID151
如果要设置 contact 的默认值,则它必须是计算属性 .
contact
extension MyProtocol { var contact: MyContact? { return MyContact() } }
1 回答
来自文档:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html#//apple_ref/doc/uid/TP40014097-CH24-ID151
如果要设置
contact
的默认值,则它必须是计算属性 .