Sobes.tech
Junior — Middle
101

Протокол ішіндегі әдістердің жүзеге асырылуын анықтау мүмкін бе?

Сұралған компаниялар
Itexus

AI-дан жауап

sobes.tech AI

В Swift протоколы могут содержать объявления методов, но не их реализации. Однако с появлением расширений (extensions) можно добавить реализацию методов для протокола, которая будет доступна всем типам, соответствующим этому протоколу.

Пример:

protocol MyProtocol {
    func doSomething()
}

extension MyProtocol {
    func doSomething() {
        print("Реализация по умолчанию")
    }
}

struct MyStruct: MyProtocol {}

let obj = MyStruct()
obj.doSomething() // Выведет: Реализация по умолчанию

Таким образом, внутри самого протокола реализации нет, но с помощью расширений можно предоставить реализацию по умолчанию для методов протокола.