2013-08-20 41 views
2

我在我的應用程序之一中首次使用核心數據。對於特殊場景,我不希望將數據保存在數據庫中。爲此,我閱讀了蘋果文檔,並提出了PersistentStoreWithType:NSInMemoryStoreType。它運行良好,這些對象駐留在內存中,直到我們殺死它爲止。核心數據:與PersistentStoreWithType一起添加的清除數據:NSInMemoryStoreType

但現在我正面臨着一些問題。我想在某個時候清除那些數據,我想再次下載它,所以我如何清除存儲中爲「NSInMemoryStoreType」類型的持久性存儲添加的所有數據?

有什麼辦法可以將它從內存中刪除而不殺應用程序?

+1

你可以嘗試從持久存儲刪除內存店內協調,並添加一個新的。也許首先重置託管對象上下文。 –

回答

0

您可以刪除所有對象。

for (NSManagedObject *object in fetchedObjects) { 
    [self.managedObjectContext deleteObject:object]; 
} 

或者,如果你從來沒有「拯救」:

[self.managedObjectContext rollback]; 
+0

是的,我可以用上面的方法刪除對象。但我想刪除特定的對象。我已經使用NSInMemoryStoreType以及NSSQLiteStoreType類型。我只想刪除NSInMemoryStoreType對象。 – user1988

+1

假設您已通過模型配置設置商店類型。通過該模型,您可以在配置中獲取並使用'entitiesForConfiguration'遍歷實體。 – Mundi

+0

你有錯字:在第一個代碼示例中,它是:[self.managedObjectContext deleteObject:object]; –