Может ли кто-нибудь объяснить мне разницу между статическими переменными в swift vs static variables в java?Разница между статикой в swift и static в java
Я знаю, что статические функции в java выполняются во время выделения памяти, а не когда экземпляр создается для объекта.
Я пытался сделать singleton в swift, я увидел, что вызов функции getInstance() в моей функции ViewController viewDidLoad выполнялся до того, как мои статические переменные заселялись, и поэтому возвращаю значения nil.
Как подойти к этой проблеме? Должен ли я найти функцию «Инициализатор», где все распределения и инициализации для классов происходят так, что это работает плавно?
Пожалуйста посоветуйте
Я добавляю фрагмент кода для того же
class X {
var xInstance:X = X()
public static func getInstance() { return xInstance }
}
class Y {
var xInstance: X?
var yInstance: Y = Y()
public override init() {
xInstance = X.getInstance()
public static func getInstance() {
return yInstance
}
}
class someView: UIView {
public override init() {
var xInstance = X.getInstance() //This is my problem area. I am seeing nil for xInstance
}
}
Я вижу нулевые значения для xInstance. Что я делаю не так?
Можете ли вы показать код? насколько я знаю, разница не очень большая. – Peyman