@State 和 CoreData 的 SwiftUI 预览问题

SwiftUI Preview issue with @State and CoreData

我无法获得预览来处理看似非常简单的结构。客户是 CoreData 实体:

struct CustomerDetailView: View {
    
    @Environment(\.managedObjectContext) var moc
    @State var showNewCustomer = false
    
    var customer: Customer
    
    var body: some View {

我已经尝试了几乎所有不起作用的方法,包括这个:

struct CustomerDetail_Previews: PreviewProvider {
    static var previews: some View {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        return
            CustomerDetailView(customer: --Not sure what works here-- ).environment(\.managedObjectContext, context)
    
    }
}

我试过 static let customer = Customer() 这样我就可以在最后一行使用一个客户变量,但这没有帮助。

Preview 为应用程序使用不同的容器,因此您可以创建新的 Customer,比如

struct CustomerDetail_Previews: PreviewProvider {
    static var previews: some View {
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        return
            CustomerDetailView(customer: Customer(context: context))
               .environment(\.managedObjectContext, context)
    
    }
}