Sobes.tech
Junior — Middle

Bude inicializátor odebrán ze struktury při jeho změně?

sobes.tech AI

Odpověď od AI

Ve Swiftu mají struktury automaticky generované inicializátory (memberwise initializers), které jsou vytvářeny kompilátorem na základě vlastností struktury. Pokud změníte strukturu, například přidáním nebo odstraněním vlastností, automaticky generovaný inicializátor se odpovídajícím způsobem změní.

Nicméně, pokud výslovně deklarujete vlastní inicializátor, automaticky generovaný inicializátor se nevytvoří.

Tím pádem, inicializátor se neodstraňuje, ale je znovu vytvořen kompilátorem při změně struktury, pokud byl automaticky generován. Pokud je inicializátor deklarován ručně, zůstává až do jeho odstranění nebo změny.