错误
我今天第一次开始使用CoreData,但是一直使用这个bug。
Thread 1: "An NSManagedObject of class 'MenuRPG.Inventory' must have a valid NSEntityDescription."
不过,我不太确定我怎么才能解决这个问题。
我试过的是:
将实体模块更改为Current Product Module
但是每次我尝试在我的数据编码中添加新的信息时,我的应用程序就会崩溃并显示错误。
我的代码:
import SwiftUI
struct BagMenu: View {
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Inventory.entity(), sortDescriptors: []) var items:
FetchedResults<Inventory>
var body: some View {
VStack {
List {
ForEach(items, id: \.id) { item in
Text(item.name ?? "Unnamed")
}
}
Button("Bake") {
let breadPrefix = ["Half-baked", "Decent", "Perfect"]
let breadTypes = ["rye", "sourdough", "bagel"]
let chosenPrefix = breadPrefix.randomElement()!
let chosenBread = breadTypes.randomElement()!
let item = Inventory(context: self.moc)
item.id = UUID()
item.name = "\(chosenPrefix) \(chosenBread)"
try? self.moc.save()
}
}
}
}

任何帮助都将不胜感激!
发布于 2021-01-15 05:54:25
请您检查一下下列功能是否有效:
检查NSPersistentContainer名称
NSPersistentContainer名称是什么(检查初始化程序)?它与xcdatamodeld文件名匹配吗?检查应用程序代码
PersistenceController之前初始化它是非常重要的。示例:
import SwiftUI
@main
struct TestCoreDataApp: App {
//This is very important to initialise `PersistenceController` before using it. So that the entities are loaded.
let persistenceController = PersistenceController.shared
var body: some Scene {
WindowGroup {
ContentView()
.environment(\.managedObjectContext, persistenceController.container.viewContext)
}
}
}透明缓存:
)
样本项目:
如果您是CoreData.
,那么使用示例CoreData项目可能会有所帮助。
文档
浏览CoreData文档可能会有所帮助。是的,这可能很费时,但从长远来看可能会有所帮助。
https://stackoverflow.com/questions/65730887
复制相似问题