@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)
}
}
我无法获得预览来处理看似非常简单的结构。客户是 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)
}
}