2011-08-18 58 views
2

重新出现在我的应用程序,我有一个'删除所有'按钮在设置菜单,它删除所有存储的用户数据。使用以下代码:删除NSData后重新启动应用程序

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext]; 
[fetchRequest setEntity:entity]; 

NSError *error; 
NSArray *items = [managedObjectContext executeFetchRequest:fetchRequest error:&error]; 
[fetchRequest release]; 

for (NSManagedObject *managedObject in items) { 
    [managedObjectContext deleteObject:managedObject]; 
} 

这似乎工作正常,并且所有数据似乎都从应用程序中消失。也就是说,直到应用程序关闭,然后重新启动...

从后台状态打开应用程序不会这样做,但当应用程序通过多任务切换器强制退出时,所有'删除'数据重新出现应用程序重新启动。

-

所有数据实际上似乎被删除时消失,搜索等不返回任何结果的任何数据。我在删除数据的方式上做错了什么?任何帮助深表感谢!

+0

你看过这个,因为我不知道你是否没有删除关系,所以文件并没有真正删除。 http://stackoverflow.com/questions/4638692/coredata-delete-object –

回答

8

不要忘记保存上下文再打开它,否则所有更改都将保持未保存。

+0

doh。 [managedObjectContext保存:&错误]是我失踪!干杯:) –

+0

不要忘记接受答案,如果它适合你:) – matthias

+0

@matthias完成。它给了我一段时间(比如10分钟),直到我能够接受问题的答案,这就是为什么我没有尽早做到! –

相关问题