ios - SwiftUI 环境对象未更新
问题描述
我认为是这样的情况,指定为环境对象的类中的@Published 属性会自动更新到我将环境对象传递给的所有子视图,但是下面的代码没有更新,我做错了什么?
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
}
解决方案
我发现我的连接方式@EnvironmentObject
实际上运行良好,我在另一个区域的代码中有一个错误,它阻止视图接收我正在寻找的数据,这让我认为它与@EnvironmentObject
无法正常工作有关。
推荐阅读
- asp.net-core - .Net core Web api 2 - 委托处理程序或中间件
- visual-studio-2015 - Crystal Report - 详细信息部分根据订单号水平递增
- server - ASP.NET Core 部署要求
- ruby-on-rails - 无法通过 capistrano 部署 rails 5 应用程序
- c++ - 如果模板构造函数只有一个泛型参数,为什么我必须要有一个复制构造函数?
- php - Codeigniter - 带循环的多输入
- docker - Docker 镜像文件位置
- c# - 数组问题和问题
- javascript - 在 React Native 中加载 ActivityIndicator 时如何禁用触摸屏?
- php - 我正在尝试使用 php、apache24(我已经安装了两个)服务器将我的数据库连接到 html,但我收到了这个错误: