Junior — Middle
Szükséges-e kötelezően értéket rendelni egy statikus változóhoz a deklaráció során?
sobes.tech MI
Válasz az MI-től
iOS-en (Swift vagy Objective-C) nem kötelező statikus változókat értékkel inicializálni a deklaráció során. Ha nem adunk meg értéket:
- Az alapértelmezett inicializálást támogató típusok esetén a változó az alapértelmezett értékkel lesz inicializálva (például
0számoknál,nilopcionálisoknál). - Ha a változó
let-ként (állandóként) van deklarálva, akkor kötelező értéket hozzárendelni a deklaráció során.
Swift példában:
class Example {
static var counter: Int // nem kötelező azonnal értéket adni
static var name: String = "Default" // érték van hozzárendelve
}
// Az első hozzáféréskor az Example.counter-hez hiba fog keletkezni, ha nem inicializáljuk explicit módon a használat előtt.
Ezért, bár nem kötelező értéket adni a deklarációkor, a statikus változót használat előtt inicializálni kell, különben fordítási vagy futási hiba lép fel.