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() // Выведет: Реализация по умолчанию
Таким образом, внутри самого протокола реализации нет, но с помощью расширений можно предоставить реализацию по умолчанию для методов протокола.