我知道你可以给一个像这样的协议扩展的默认值
protocol SomeProtocol {
var prop: String { get }
}
extension SomeProtocol {
var prop: String {
return "defaultValue"
}
}
struct SomeA: SomeProtocol {}
struct SomeB: SomeProtocol {}
let a = SomeA()
let b = SomeB()
debugPrint(a.prop) // prints defaultValue
debugPrint(b.prop) // prints defaultValue
但是有没有办法为这样的协议的不同实现设置不同的默认值,而无需为符合该协议的每个类或结构实现属性?
debugPrint(a.prop) // prints defaultValue
debugPrint(b.prop) // prints differentDefaultValue
或一些类似的模式来做这样的事情?