このようなプロトコル拡張でデフォルト値を指定できることは知っています
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
または、このようなことを行うための同様のパターンはありますか?