Core data swiftUI核心数据模型

Core data swiftUI核心数据模型,core-data,swiftui,Core Data,Swiftui,我创建了一个swiftUI视图,并试图显示一个核心数据实体,但预览失败,应用程序在运行时崩溃。如何实例化电影对象并将其用作swiftUI中的状态成员 import SwiftUI struct SwiftUIView: View { @Environment(\.managedObjectContext) private var viewContext @State private var movie: Movie = Movie() var body: some

我创建了一个swiftUI视图,并试图显示一个核心数据实体,但预览失败,应用程序在运行时崩溃。如何实例化
电影
对象并将其用作swiftUI中的状态成员


import SwiftUI

struct SwiftUIView: View {
    @Environment(\.managedObjectContext) private var viewContext
    @State private var movie: Movie = Movie()

    var body: some View {
        Text(movie.title ?? "empty")
    }
}

struct SwiftUIView_Previews: PreviewProvider {
    static var previews: some View {
        let moc = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        SwiftUIView().environment(\.managedObjectContext, moc)
    }
}

您应该使用上下文创建CoreData对象,所以这里有一种可能的方法

struct SwiftUIView: View {
    @Environment(\.managedObjectContext) private var viewContext
    @State private var movie: Movie?

    var body: some View {
        Text(movie.title ?? "empty")
           .onAppear {
              self.movie = Movie(context: viewContext)    // << here !!
           }
    }
}
struct SwiftUIView:视图{
@环境(\.managedObjectContext)私有变量viewContext
@国家私人电影:电影?
var body:一些观点{
文本(movie.title??“空”)
奥纳佩尔先生{

self.movie=movie(context:viewContext)//是否确实要执行此操作,每次加载视图时它都会在核心数据中创建一个新实例?这只是预览数据的演示