簡體   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