Junior — Middle
Koje akcije su dostupne pri proširenju protokola pomoću proširenja?
sobes.tech АИ
Одговор од АИ
У Swift-у, проширења (extensions) омогућавају додавање нових могућности постојећим типовима, укључујући протоколе. Проширењем протокола помоћу extension-а, можете:
- Додати подразумеване имплементације метода и својстава, што избегава потребу да их имплементирате у сваком типу који имплементира протокол.
- Додати израчунате својства.
- Додати нове методе које ће бити доступне свим типовима који одговарају протоколу.
Међутим, проширења протокола не дозвољавају додавање нових захтева (нпр. нових обавезних метода или својстава), само подразумеване имплементације.
Пример:
protocol Greetable {
func greet()
}
extension Greetable {
func greet() {
print("Здраво из проширења протокола!")
}
}
struct Person: Greetable {}
let p = Person()
p.greet() // Исписује: Здраво из проширења протокола!