首页 > 解决方案 > 将条目添加到上下文时,自定义获取请求不更新视图

问题描述

CoreData

Ticket我分别有一对多的关系Job

为了显示所有Job的 s,Ticket我必须避免使用正常的@FetchRequest

通过这样做,当我添加新视图时,我的视图不会更新Job

我的自定义类Ticket有这个代码来显示所有相关Job

 @NSManaged var jobs: NSSet?


public var jobArray: [Job] {
    let set = jobs as? Set<Job> ?? []
    
    return set.sorted {
        $0.wrappedEquipmentName < $1.wrappedEquipmentName
    }
}

因此,当使用票证初始化视图时,例如:

struct MyView: View {
    let ticket: Ticket
    var body: some View {
          

          ForEach(ticket.jobsArray) {  job in 
              Text(job.name)
          }

    }

}

我认为Combine是答案,但我不确定如何解决。

标签: core-dataswiftui

解决方案


你必须观察票

更改let ticket: Ticket

@ObservedObject var ticket: Ticket

所有 CoreData 对象都是ObservableObjects


推荐阅读