如何通过扩展在MyProtocol 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
,则它必须是一个计算属性。
extension MyProtocol {
var contact: MyContact? {
return MyContact()
}
}