Можно ли получить доступ к переменной enviromentObject внутри init? - PullRequest
0 голосов
/ 25 февраля 2020

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

@EnvironmentObject var socketHandler: SocketHandler


init() {

    print(self.socketHandler.testVar)

}

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

Fatal error: No ObservableObject of type SocketHandler found

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

1 Ответ

0 голосов
/ 25 февраля 2020

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

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
...