0

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

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

或者

[self.managedObjectStore resetPersistentStores:] // Restkit

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

谢谢!

4

1 回答 1

3

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

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

于 2012-10-08T04:54:33.180 回答