[英]SwiftUI Environment Object Not Getting Updated
I thought it was the case that @Published properties inside a class designated as an environment object would automatically update to all the subviews I pass the environment object to, but the below code isn't updating, what am I doing wrong?我认为指定为环境 object 的 class 中的 @Published 属性会自动更新到我将环境 object 传递给的所有子视图,但是下面的代码没有更新,我做错了什么?
class trackerDataStore: ObservableObject {
let healthStore = HKHealthStore()
@Published var isLoadingWorkouts = false
@Published var subscriptionIsActive = false
@Published var trackerWorkoutObject: trackerWorkoutObject?
}
struct detailHeaderCard: View {
@EnvironmentObject var trackerDataStore: TrackerDataStore
var body: some View {
//omitted
}
.sheet(isPresented: $isShowingPlayerAddStatsFormAsModal) {
PlayerAddStatsForm(isShowingPlayerAddStatsFormAsModal: $isShowingPlayerAddStatsFormAsModal)
.environmentObject(trackerDataStore)
}
}
struct PlayerAddStatsForm: View {
@EnvironmentObject var trackerDataStore: TrackerDataStore
//not getting reactively updated here
}
I found out that the way I wired up @EnvironmentObject
actually works well, I had a bug in my code in another area that was preventing the view from receiving the data I was looking for that made me think it was related to @EnvironmentObject
not working properly.我发现我连接
@EnvironmentObject
的方式实际上工作得很好,我在另一个区域的代码中有一个错误阻止视图接收我正在寻找的数据,这让我认为它与@EnvironmentObject
不工作有关适当地。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.