Sobes.tech
Back to questions
Junior — Middle
68

Возможна ли реализация переменных внутри протоколов?

Answer from AI

sobes.tech AI

В Swift протоколы могут содержать объявления свойств, но не могут хранить переменные с состоянием. То есть внутри протокола можно определить свойства с get и set, которые должны быть реализованы в классах или структурах, но сам протокол не хранит данные. Например:

protocol MyProtocol {
    var name: String { get set }
}

struct User: MyProtocol {
    var name: String
}

Таким образом, реализация переменных (хранение состояния) происходит в типах, которые соответствуют протоколу, а не в самом протоколе.