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)")
}
}