我在我的應用程序的核心數據的工作。因此,我獲取一個XML文件,將數據解析爲模型對象並將其插入到核心數據中。他們被保存在持久存儲中,當我重新啓動應用程序時,我可以訪問它們。但是,我希望能夠隨時刷新持久存儲中的數據,因此我需要先從商店中刪除現有對象。有沒有一個簡單的方法呢?如何從Core Data中的持久性存儲中刪除所有對象?
感謝
我發現這個解決方案:
[managedObjectContext lock];
[managedObjectContext reset];//to drop pending changes
if ([persistentStoreCoordinator removePersistentStore:persistentStore error:&error])
{
NSURL* storeURL = [NSURL fileURLWithPath:[self pathForPersistentStore]];
[[NSFileManager defaultManager] removeFileAtPath:[storeURL path] handler:nil];
[self addPersistentStore];//recreates the persistent store
}
[managedObjectContext unlock];
非常感謝!一個問題:我們如何在ARC中使用'NSError **錯誤'?它給出錯誤:'指向非const類型的指針'NSError **「沒有明確的所有權」。 – Timo 2012-06-18 00:07:47
是的,你必須聲明它像一些preinfo像_SomethingIDontRemeber NSError **錯誤,或者只是通過零,如果你不想錯誤,它會更容易...;) – 2012-06-18 07:11:59
或者只是改變第一行'NSError *錯誤'和從那時起,參考'錯誤'。 – 2012-11-02 02:30:06