我對iOS 5併發選項有點困惑。通常,以舊的方式,您必須使用mergeChanges和通知手動跟蹤從一個上下文到另一個上下文的更改。但如果我的理解是正確的,使用新的選項,你可以有一個帶有子上下文的NSMainQueueConcurrencyType。因此,無論您何時保存子上下文,都會自動推送更改並與父項合併,而無需進行任何其他手動工作,對吧?將Core Data中的更改從一個上下文合併到另一個上下文
如果是這樣,我遇到了問題。假設我有一個由主要上下文獲取的對象。然後我改變這些對象的一些屬性,但我還沒有保存。然後,在父設置爲mainContext的NSPrivateQueueConcurrencyType上,我執行一次提取來檢索剛在主要上下文中修改的對象。獲取的對象是否會反映我剛纔對主線程中的屬性所做的更改?
爲什麼這個傢伙說當你想讓上下文知道可以將對象變成故障釋放內存時應該使用refreshObject? http://stackoverflow.com/a/3984681/458960 – Snowman
您可以使用-refreshObject:mergeChanges:NO來修剪對象圖。那就是你明確地告訴你,你想放棄你在當前上下文中對該對象所做的任何更改。 – svena
等待我在哪裏調用refreshObject?在父線程(掛起更改的位置)還是子線程上? – Snowman