Sobes.tech
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 0 számoknál, nil opcioná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.