【发布时间】:2021-10-18 17:14:48
【问题描述】:
我正在 swiftUI 中创建一个简单的待办事项列表。在预览中将任务保存到核心数据时,它会崩溃。但是,使用模拟器可以正常工作。我尝试重新打开项目并在网上寻找类似的问题,但还没有找到任何东西。 如果有人可以帮助我,那就太好了,我是 IOS 和 Xcode 的新手。非常感谢! 这是我的代码:
import SwiftUI
struct ContentView: View {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(sortDescriptors: []) private var tasks:
// gets stuff from entity "Task" in datamodel
FetchedResults<Task>
@State var name: String = ""
@State var cat: String = ""
var body: some View {
VStack{
TextField("Enter Task Name", text: $name)
TextField("Enter Task Category", text: $cat)
Button(
action: {
let newTask = Task(context: viewContext)
newTask.name = name
newTask.category = cat
do{
try viewContext.save()
}
catch{
let error = error as NSError
fatalError("unresolved error:\(error)")
}
},
label:{
Text("Save Task")
}
)
List{
ForEach(tasks, id:\.self){
task in Text(task.name ?? "untitled")
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
【问题讨论】:
-
你的预览还需要一个托管对象上下文
-
这能回答你的问题吗? SwiftUI Preview canvas and Core Data
-
是否有任何错误信息?通常有,而且它们通常是了解问题所在的关键部分。
-
@JoakimDanielson 我该怎么做?
-
@TomHarrington 遗憾的是调试控制台没有显示错误消息!
标签: xcode core-data swiftui simulator preview