我有以下代码来绘制汽车列表,数据存储在coredata中。
但是,当我添加从数据库中获取数据的代码行时,swiftui预览似乎会中断。
错误日志告诉以下内容:
PotentialCrashError:测试app.app可能已崩溃
里程app.app可能已崩溃。检查〜/ Library / Logs / DiagnosticReports中是否有来自应用程序的崩溃日志。
=================================
| 错误Domain = com.apple.dt.ultraviolet.service代码= 12“渲染服务被中断” UserInfo = {NSLocalizedDescription =渲染服务被中断}
这是这段代码,其中foreach的开始和结束会导致错误:
import SwiftUI
struct CarListView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: Car.all()) var cars: FetchedResults<Car>
var body: some View {
NavigationView {
ZStack {
List {
Section(header: Text("Cars")) {
ForEach(self.cars, id: \.numberPlate) { car in
HStack {
VStack(alignment: .leading) {
Text(car.name)
Text(car.numberPlate)
}
}
}
}
}
}
}
}
}
struct CarListView_Previews: PreviewProvider {
static var previews: some View {
CarListView()
}
}
问题似乎与以下事实有关:无法以某种方式获取允许以预览模式获取数据的上下文。通过手动执行预览模式,可以解决此问题。
struct CarListView_Previews: PreviewProvider {
static var previews: some View {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
return CarListView().environment(\.managedObjectContext, context)
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句