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.