@State 和 CoreData 的 SwiftUI 预览问题 [英] SwiftUI Preview issue with @State and CoreData

查看:74
本文介绍了@State 和 CoreData 的 SwiftUI 预览问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法使用看起来非常简单的结构进行预览.客户是一个 CoreData 实体:

I'm having trouble getting a preview to work with what seems like a pretty simple struct. Customer is a CoreData entity:

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

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

I've tried almost everything that doesn't work, including this:

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() 以便在最后一行中使用一个客户变量,但这并没有帮助.

I've tried static let customer = Customer() so that I would have a customer variable to use in the last line, but that did not help.

推荐答案

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

Preview uses different container for apps, so you can just create new Customer, like

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)
    
    }
}

这篇关于@State 和 CoreData 的 SwiftUI 预览问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆