Sobes.tech
Junior — Middle

Vai protokolos iekšienē ir iespējams ieviest mainīgos?

sobes.tech AI

Atbilde no AI

Swift valodā protokoli var saturēt īpašību deklarācijas, bet nevar glabāt stāvokļa mainīgos. Tas nozīmē, ka protokolā var definēt īpašības ar get un set, kuras jāīsteno klasēs vai struktūrās, bet pats protokols neglabā datus. Piemēram:

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

struct User: MyProtocol {
    var name: String
}

Tādējādi mainīgo (stāvokļa glabāšanas) īstenošana notiek tajos tipus, kas atbilst protokolam, nevis pašā protokolā.