Junior — Middle
Възможна ли е реализация на променливи вътре в протоколите?
sobes.tech AI
Отговор от AI
В Swift протоколите могат да съдържат декларации за свойства, но не могат да съхраняват променливи със състояние. Тоест, вътре в протокола могат да се дефинират свойства с get и set, които трябва да бъдат реализирани в класове или структури, но самият протокол не съхранява данни. Например:
protocol MyProtocol {
var name: String { get set }
}
struct User: MyProtocol {
var name: String
}
По този начин, реализирането на променливи (съхранение на състояние) става в типовете, които съответстват на протокола, а не в самия протокол.