Sobes.tech
Junior — Middle

Je možné implementovat proměnné uvnitř protokolů?

sobes.tech AI

Odpověď od AI

Ve Swiftu mohou protokoly obsahovat deklarace vlastností, ale nem mohou ukládat proměnné se stavem. To znamená, že uvnitř protokolu lze definovat vlastnosti s get a set, které musí být implementovány ve třídách nebo strukturách, ale samotný protokol neukládá data. Například:

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

struct User: MyProtocol {
    var name: String
}

Tímto způsobem je implementace proměnných (ukládání stavu) prováděna v typech, které splňují protokol, nikoli v samotném protokolu.