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