Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

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

struct User: MyProtocol {
    var name: String
}

По този начин, реализирането на променливи (съхранение на състояние) става в типовете, които съответстват на протокола, а не в самия протокол.