当我关闭视图时Coredata崩溃
Posted
技术标签:
【中文标题】当我关闭视图时Coredata崩溃【英文标题】:Coredata crash when I dismiss a view 【发布时间】:2020-10-23 10:22:54 【问题描述】:我正在构建一个在核心数据中搜索实体的视图。我用核心数据的搜索结果填充了一个数组。代码工作正常,但是当我关闭视图时,我收到以下错误并且我的应用程序崩溃。 我的系统是 XCode 12 Macos catalina 这是我收到的错误消息, 异常 NSException * "+entityForName: nil 不是用于搜索实体名称“Proveedor”的合法 NSPersistentStoreCoordinator" 0x0000600001be47e0
代码:
extension Proveedor
static func getProveedoresWith(string:String?, context:NSManagedObjectContext) -> [Proveedor]?
guard let partialString = string else return nil
print(partialString)
let request = NSFetchRequest<Proveedor>(entityName: "Proveedor")
request.predicate = NSPredicate(format: "nombreFantasia CONTAINS %@", partialString)
request.sortDescriptors = [NSSortDescriptor(key: "nombreFantasia", ascending: false)]
let result = try? context.fetch(request)
print(result)
return result
struct FaenaManagerSeleccionarProveedorView: View
@Environment(\.managedObjectContext) var context
@Binding var isShowing:Bool
@State var aBuscar = ""
var proveedores:[Proveedor]?
Proveedor.getProveedoresWith(string: aBuscar, context: context)
var body: some View
VStack
TextField("value", text: $aBuscar)
.padding()
.font(.system(size: 12, weight: .light, design: .monospaced))
List
ForEach(proveedores ?? [], id:\.id) proveedor in
Text(proveedor.nombreFantasia!)
如果有人可以给我一个提示。
问候
【问题讨论】:
【参考方案1】:我找到了答案,问题是我使用的是背景上下文。
而不是使用视图上下文。
【讨论】:
以上是关于当我关闭视图时Coredata崩溃的主要内容,如果未能解决你的问题,请参考以下文章
滚动时从“cellForRowAtIndexPath”保存到 CoreData 崩溃
如果 iCloud 开启,应用程序崩溃(链接到与 coreData 同步)