Junior — Middle
Bude inicializátor odstránený zo štruktúry pri jeho zmene?
sobes.tech AI
Odpoveď od AI
Vo Swiftu majú štruktúry automaticky generované inicializátory (memberwise initializers), ktoré sú vytvárané kompilátorom na základe vlastností štruktúry. Ak zmeníte štruktúru, napríklad pridávaním alebo odstraňovaním vlastností, automaticky generovaný inicializátor sa príslušne zmení.
Avšak, ak výslovne deklarujete vlastný inicializátor, automaticky generovaný inicializátor sa nevytvorí.
Takže, inicializátor sa nevymazáva, ale je znovu vytvorený kompilátorom pri zmene štruktúry, ak bol automaticky generovaný. Ak je inicializátor deklarovaný ručne, zostáva až do jeho vymazania alebo zmeny.