【问题标题】:SwiftUI Preview issue with @State and CoreData@State 和 CoreData 的 SwiftUI 预览问题
【发布时间】:2020-07-14 15:38:43
【问题描述】:

我在预览看起来很简单的结构时遇到了麻烦。 Customer 是一个 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() 以便在最后一行使用一个客户变量,但这没有帮助。

【问题讨论】:

    标签: swiftui preview


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 2020-10-19
      • 1970-01-01
      相关资源
      最近更新 更多