核心数据对象确认 Observable 并且每个属性都是可发布的。所以我们可以使用’@observedObject’来观察核心数据对象的变化。让我们看一个小例子。一个 2 屏应用程序,其中一个屏幕包含核心数据对象列表,另一个屏幕提供编辑核心数据对象属性的选项。通过 如下使用“@ObservedObject”,我们对核心数据对象所做的更改会自动反映出来。
struct ExampleView: View {
@FetchRequest(entity: Item.entity(), sortDescriptors: [], predicate: nil, animation: .linear)
var items: FetchedResults<Item>
@State var name = ""
var body: some View {
NavigationView {
List {
TextField("add", text: $name)
ForEach(items) {(item) in
ItemLabelView(item: item)
.environment(\.managedObjectContext, vm.context)
}
}
.toolbar {
ToolbarItem(placement: ToolbarItem