Sobes.tech
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() // Исписује: Здраво из проширења протокола!