Swift 如何在同一个结构上管理@ObservedObject和@EnvironmentObject?

Swift 如何在同一个结构上管理@ObservedObject和@EnvironmentObject?,swift,xcode,swiftui,Swift,Xcode,Swiftui,当EnvironmentObject同时更新时,将再次初始化ObservedObject。因此,@EnvironmentObject每次更新时,Name值都为空 struct菜单视图:视图{ @EnvironmentObject变量顺序:顺序 @ObservedObject变量模型=DetailsModel() var body:一些观点{ 导航视图{ VStack{ 文本(“名称:\(self.model.Name)”) 按钮(操作:{ self.model.name=“Arjun” }) {

EnvironmentObject
同时更新时,将再次初始化
ObservedObject
。因此,
@EnvironmentObject
每次更新时,
Name
值都为空

struct菜单视图:视图{
@EnvironmentObject变量顺序:顺序
@ObservedObject变量模型=DetailsModel()
var body:一些观点{
导航视图{
VStack{
文本(“名称:\(self.model.Name)”)
按钮(操作:{
self.model.name=“Arjun”
}) {
文本(“设置名称”)
}.padding(.bottom,30.0)
按钮(操作:{
self.order.add(项目:“项目”)
}) {
图像(系统名称:“cart.badge.plus”)
文本(“添加到购物车”)
}.padding(.bottom,30.0)
}
}
}
}
//细节模型
类详细信息模型:observeObject{
@已发布的变量名称:String=“”
}

我的问题是如何管理
@ObservedObject
值一次
@EnvironmentObject
更新?

SwiftUI 2.0

使其成为
@StateObject
,如

struct MenuView: View {

@EnvironmentObject var order: Order
@StateObject var model = DetailsModel()
...
SwiftUI 1.0

通过构造函数将其外部注入(具有自己的生命周期)

struct MenuView: View {

@EnvironmentObject var order: Order
@ObservedObject var model: DetailsModel
...