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
}
Таким образом, реализация переменных (хранение состояния) происходит в типах, которые соответствуют протоколу, а не в самом протоколе.