繁体   English   中英

将参数传递给视图时 SwiftUI 崩溃预览

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM