Sobes.tech
Junior — Middle

Ar įmanoma įgyvendinti kintamuosius protokoluose?

sobes.tech AI

Atsakymas iš AI

Swift'e protokolai gali turėti savybių deklaracijas, tačiau negali saugoti būsenos kintamųjų. Tai reiškia, kad protokolo viduje galima apibrėžti savybes su get ir set, kurios turi būti įgyvendintos klasėse ar struktūrose, tačiau pats protokolas ne saugo duomenų. Pavyzdžiui:

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

struct User: MyProtocol {
    var name: String
}

Taip, būsenos (kintamųjų) įgyvendinimas vyksta tų tipų, kurie atitinka protokolą, o ne pačiame protokole.