处理示例应用程序。目标是从 Master 中的 CoreData 中提取一个列表,然后单击一个列表以转到详细信息,您可以在其中编辑信息并保存。当您在细节中编辑“名称”时,它不仅会更新细节以反映更改,而且还会反映母版上的更改。我已经尝试了很多方法来实现这一点,但到目前为止还没有找到答案。
// Code generation is turned OFF in the xcdatamodeld file
public class EntityName: NSManagedObject, Identifiable {
@NSManaged public var name: String
@NSManaged public var active: Bool
}
extension EntityName {
static func allEntityNameFetchRequest() -> NSFetchRequest<EntityName> {
let request: NSFetchRequest<EntityName> = EntityName.fetchRequest() as! NSFetchRequest<EntityName>
request.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
return request
}
}
struct MasterView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: EntityName.allEntityNameFetchRequest()) var allEntityNames: FetchedResults<EntityName>
var body: some View {
NavigationView {
List {
ForEach(self.allEntityNames) …Run Code Online (Sandbox Code Playgroud)