2012-03-31 68 views
3

我有一個應用程序從服務器下載一些文檔並將它們保存到持久存儲(Sqlite)中。我將文檔數據保存在NSManagedObjectNSData屬性中,每次我下載一個新文檔時,基本上應用程序都會將數據保存到持久存儲區,但也會將其保存在內存中,這是我不想要的。有沒有辦法強制斷層?不知何故,我想釋放內存,並只保留數據庫中的數據。希望它是有道理的,我是Core Data的初學者。如何直接保存到持久存儲,而不需要將數據保存到內存

回答

4

通過調用refreshObject:mergeChanges:可以導致NSManagedObject出錯。

+0

+1這是強制「NSManagedObject」發生故障的正確方法。 – lnafziger 2012-04-01 03:31:35

+0

這與「允許外部存儲」結合解決了我的問題。謝謝! – 2012-04-01 11:20:07

0

一種選擇是將其讀入一個或多個本地位於例程範圍內的託管對象,然後當它們超出範圍時,它們將從內存中釋放。 (可能想先保存它們)。

相關問題