Junior — Middle
Трябва ли задължително да се присвои стойност на статична променлива при обявяването ѝ?
sobes.tech AI
Отговор от AI
В iOS (Swift или Objective-C) не е задължително да присвоявате стойност на статичните променливи при декларацията. Ако стойността не бъде присвоена:
- За типовете, които поддържат начална инициализация по подразбиране, променливата ще бъде инициализирана със стойността по подразбиране (например,
0за числа,nilза опционални). - Ако променливата е обявена като
let(константа), тогава трябва задължително да й присвоите стойност при декларацията.
Пример в Swift:
class Example {
static var counter: Int // не е задължително да се присвоява веднага
static var name: String = "Default" // присвоена стойност
}
// При първия достъп до Example.counter ще се получи грешка, ако не е инициализирана явно преди използване.
Затова, въпреки че присвояването не е задължително при декларацията, преди използване на статична променлива трябва да я инициализирате, иначе ще възникне грешка при компилация или изпълнение.