У меня есть код, который я хочу DRY вверх, я не хочу повторять / поддерживать один и тот же код в нескольких местах.
protocol Programable {
var log: String { get }
}
protocol Convertable {
var status: String { get set }
}
extension Programable where Self: NSManagedObject {
var log: String {
return <managed object related stuff>
}
}
extension Programable where Self: NSManagedObject, Self: Convertable {
var log: String {
return <managed object related stuff> + status
}
}
Как я могу вызвать первое расширение log
во втором расширении, поэтому мне не нужно повторять детали в коде?