Swiftui 如何检测对核心数据对象属性的更改

Swiftui 如何检测对核心数据对象属性的更改,swiftui,Swiftui,我有一个名为Cake的核心数据实体,它的属性如下: 使用的用户数 总人数 颜色 重量 我从实体中读取了一个对象,现在我有了类似的东西 let orangeCake = Cake(type:"orange", context:coreDataContext) 现在我想显示一个ProgressView。我想传递进度视图,一个绑定的numberOfIngredientsBeingUsed属性,表示目前使用的配料数量,一个常规属性numberOfIngredientsTotal

我有一个名为
Cake
的核心数据实体,它的属性如下:

  • 使用的用户数
  • 总人数
  • 颜色
  • 重量
我从实体中读取了一个对象,现在我有了类似的东西

let orangeCake = Cake(type:"orange", context:coreDataContext)
现在我想显示一个
ProgressView
。我想传递进度视图,一个绑定的
numberOfIngredientsBeingUsed
属性,表示目前使用的配料数量,一个常规属性
numberOfIngredientsTotal
,表示制作蛋糕所需的配料总数

其思想是,当主视图上的
numberOfIngredientsBeingUsed
更改时,进度视图将更新,因为它是一个绑定属性


我该怎么做?我无法绞尽脑汁,因为所使用的NumberOfingCreditsBeinguated是cake对象的一个属性,因此,您不需要传递一个属性,而是需要将
Cake
的整个实例作为
ObservedObject
注入,并在
ProgressView
中使用它的属性,当代码的其他部分中的某个对应对象更新时,该属性将更新(并刷新视图)

所以看起来应该是这样的

struct ProgressView: View {
   @ObservedObject var model: Cake

   var body: some View {
      Text("Progress: \(model.numberOfIngredientsBeingUsed) of \(model.numberOfIngredientsTotal)")
   }
}