如何将默认实施 didSet 设置为协议 var 我试试,但我有错误
扩展程序可能不包含存储的属性
protocol MyProtocol {
var contact: MyContact? { get set }
}
extension MyProtocol {
var contact: MyContact? {
didSet {
// some code
}
}
}
答案 0 :(得分:2)
来自文档:
扩展可以添加新的计算属性,但不能添加存储的属性,也不能将属性观察器添加到现有属性。
如果要设置默认值contact
,则必须是计算属性。
extension MyProtocol {
var contact: MyContact? {
return MyContact()
}
}