【发布时间】:2013-08-14 15:57:17
【问题描述】:
我正在尝试从我的Entity Reservation 中删除一些对象。我就是这样做的。
NSManagedObjectContext *context = reservation.managedObjectContext;
[context deleteObject:reservation];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Error is %@",error);
}
之后我删除了我的对象,我再次获取整个entity。我可以看到该对象已从我的entity 中删除。但是当我重新启动我的应用程序时,我在上一个会话中删除的所有对象都重新存储在我的 entity 中。
我正在使用restkit 来存储我从网络服务返回的对象。此外,当我删除对象时,我也在我的数据库中删除它。
当我重新启动我的应用程序并查看我的日志时,我发现我没有从我在上一个会话中删除的 web 服务中取回对象,所以没关系。唯一的问题是它们以某种方式存储在我的core database 中。
【问题讨论】:
-
您的删除是否发生在后台线程中?我认为删除对象时不会更新持久存储,如果这发生在后台线程上,请确保将更改与 mergeChangesFromContextDidSaveNotification 合并:
-
合并更改是什么意思?
标签: iphone ios objective-c core-data restkit