2012-06-29 48 views
0

說我有一個父對象,主隊列併發類型,我改變它的一個屬性值。然後,在不保存的情況下,我對一個子私有隊列類型執行一個獲取請求,以獲取包含該對象的數組。我遇到的問題是,有時候我得到的對象沒有包含在主線程中做出的掛起更改,儘管它應該。refreshObject如何在嵌套託管對象上下文中工作?

但是,如果我撥打[childMOC refreshObject:object mergeChanges:YES];,我確實會收到待處理的更改。但是文檔中描述說,這種方法

「更新了管理對象的持久性,從持久性存儲使用 最新值。

」難道這些值則是保存到磁盤的值,所以它不會包含任何掛起的更改?

我以這種方法的工作原理有點糊塗..

回答

6

對於嵌套管理對象的環境中,孩子方面將看不到直接向父上下文中的任何改變。如果您需要最新的更改,您將始終需要在子上下文中刷新您的對象。

是的,刷新包括來自父上下文的未決更改。文件需要在這方面更新。

更改傳播僅在從child - >父上下文自動進行(保存時)。

相關問題