是否可以在结构的init函数内部访问enviromentObject变量?
@EnvironmentObject var socketHandler: SocketHandler
init() {
print(self.socketHandler.testVar)
}
我尝试过这种方法,但是没有起作用。我收到此错误:
Fatal error: No ObservableObject of type SocketHandler found
我已将enviromentObject添加到SceneDelegate,并且可以在我的UI中访问该变量。
答案 0 :(得分:0)
如果您以通常的方式调用它,例如
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