Junior — Middle
Ar bus pašalintas inicializatorius iš struktūros jo keitimo metu?
sobes.tech AI
Atsakymas iš AI
Swift'e struktūros turi automatiškai sugeneruotus inicializatorius (memberwise initializers), kurie kuriami kompiliatoriaus pagal struktūros savybes. Jei pakeisite struktūrą, pvz., pridėdami ar pašalindami savybes, automatiškai sugeneruotas inicializatorius atitinkamai pasikeis.
Tačiau, jei aiškiai deklaruojate savo inicializatorių, tada automatiškai sugeneruotas inicializatorius nesukuriamas.
Taigi, inicializatorius nėra ištrinamas, o perkuria jį kompiliatorius, kai keičiasi struktūra, jei jis buvo automatiškai sugeneruotas. Jei inicializatorius yra rankiniu būdu deklaruotas, jis lieka iki tol, kol jį ištrinsite ar pakeisite.