[英]SwiftUI crashes preview when pass parameters to the view
import SwiftUI
import CoreData
struct CategoryOverview: View {
var category: Category
var body: some View {
VStack(alignment: .leading) {
HStack {
Text(category.name ?? "")
.font(.title)
Spacer()
}
Text(String(category.records?.count ?? 0))
.font(.subheadline)
}
.padding()
.foregroundColor(Color.white)
.background(Color.blue)
.clipShape(RoundedRectangle(cornerRadius: 10))
}
}
struct CategoryOverview_Previews: PreviewProvider {
static var previews: some View {
let category = Category()
category.id = UUID()
category.timestamp = Date()
category.name = "Clean"
return CategoryOverview(category: category)
}
}
我在 Core Data model 中定义了Category
实体。 然后我构建了一个简单的视图来显示一个类别的名称。 我试图将Category
实例传递给预览结构,但预览总是崩溃。 没有此崩溃的详细日志。 它只是说“预览过程似乎已经崩溃”。
此视图在其他视图(例如主ContentView
)中运行良好。 所以,代码很好,但我怀疑我的预览代码是错误的。
我对 Swift 和 Swift UI 很陌生。 我错过了什么?
由于Category
是核心数据 model 你需要一个context
改变
let category = Category()
像这样的东西
let category = Category(context: PersistentController.preview.container.viewContext)
如果您使用标准设置。 如果不只是以您传统上使用的方式填写上下文变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.