删除持久存储时iPhone应用程序崩溃

时间:2012-10-08 03:31:17

标签: iphone ios core-data restkit

我在iphone应用程序中删除/重置核心数据数据库时遇到问题,通常是在我调用以下内容时:

[self.persistentStoreCoordinator removePersistentStore:persistentStore error:&localError];

[self.managedObjectStore resetPersistentStores:] // Restkit

我可以在应用程序第一次启动时调用它,但似乎每当我将数据加载到tableview中时,应用程序将在尝试删除持久存储时挂起。这是重置核心数据库的正确方法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

对于初学者,您需要reset所有NSManagedObjectContext,否则上下文可能会有孤立的对象,这会导致错误。

然后,我总是直接从文件系统中删除sqlite文件并将managedObjectContextpersistentStoreCoordinator设置为nil(这样它将重建上下文并在下次访问时从头开始存储)而不是调用{ {1}}。但对于这部分,我不确定哪种方式更合适。