清除核心数据中的上下文:重置vs删除注册的对象?
我正在寻找这个post,但我不完全明白…有什么区别:
[context reset];
和:
for (NSManagedObjectID *objId in objectIds) { [context deleteObject:[context objectWithID:objId]]; }
还是他们是相当的?
谢谢
使用reset
将托pipe对象上下文恢复到您在第一次创build它时的状态 – 在执行任何提取之前,创build了任何新对象等。如果在内存中有从此上下文中提取的托pipe对象,他们现在无法使用。 使用reset
不会影响持久存储文件 。 之后所有实例依然存在,它们只是不在内存中。 他们可以被再次提取。
使用deleteObject
从持久存储中删除对象。 它不再存在。 由于它不存在,所以不能被取回。
- 部分保存managedObjectContext
- 无法实例化NSManagedObject的子类
- 将子项ManagedObjectContext所做的更改复制到实体的父级
- 如何更新核心数据中的现有对象?
- 如何从AppDelegate分配NSManagedObjectContext到基于TabBased应用程序的ViewControllers?
- xcodebuild:cdtool无法编译:DataModelCompile /path/to/coredatamodel.xcdatamodeld dyld:找不到符号:_OBJC_CLASS _ $ _ OS_object
- 核心数据并发队列风格MOC获取者线程安全
- 使用AFIncrementalStore和NSFetchedResultsController死锁
- 核心数据,NSNumber,整数32和整数64