Можно ли получить доступ к переменной enviromentObject внутри init?

Можно ли получить доступ к переменной enviromentObject внутри функции init в структуре?

@EnvironmentObject var socketHandler: SocketHandler


init() {

    print(self.socketHandler.testVar)

}

Я пробовал вот так, но не получилось. У меня такая ошибка:

Fatal error: No ObservableObject of type SocketHandler found

Я добавил enviromentObject в SceneDelegate и могу получить доступ к переменной в моем пользовательском интерфейсе.

1 ответ

Если называть это обычным способом, например

let contentView = ContentView().environmentObject(SomeObject())

тогда однозначно ответ НЕТ, потому что вот что на самом деле сделано:

let temp = ContentView() // < called constructor
let contentView = temp.environmentObject(SomeObject()) // call function on variable that 
                                               // just return another different value
Другие вопросы по тегам