2013-05-10 93 views
6

我在我的應用程序中使用CoreData,並使用NSInMemoryStoreType類型的持久性存儲。是否有必要調用NSManagedObjectContext保存:用於內存存儲?

是否有必要致電NSManagedObjectContext save:這種類型的商店?​​到NSManagedObjectContext實際上是否什麼爲內存存儲?

Apple's documentation只是說:

節省:
嘗試提交未保存的更改註冊的對象,以他們的持久性存儲。

這實際上在內存存儲上下文中意味着什麼?

+1

+1,非常好的問題。我一直保存上下文,相信上下文中產生的所有對象都將被移至persistentStore,並減少內存佔用量。 – Anupdas 2013-05-10 10:14:07

回答

3

我找不到任何文件,但我確定仍然需要它。

Core Data具有內存前端(由受管對象上下文表示)和持久後端(「存儲」)。持久後端通常是一個文件,但它可以駐留在內存中,用於NSInMemoryStoreType

要使所有Core Data函數正常工作,必須將兩部分分開,並通過save操作從前端(等待更改)推入後端(持久數據)。

請注意,同一商店(後端)可能存在多個託管對象上下文(前端),並且每個託管對象具有不同的待處理更改。請注意,在每個託管對象上下文中都有類似hasChangesNSUndoManager的方法。它仍然適用於內存存儲。

某些信息也here

1

​​執行屬性和關係約束的驗證。

相關問題