2011-08-08 45 views
0

我在我的iOS應用程序中實現「重複」功能。我使用下面的工作流程:如何在對象上下文不同時製作NSManagedObject的淺表副本?

  1. 存在於根視圖控制器在初始上下文管理對象
  2. 當用戶點擊一排,創建新的上下文的列表通過它與爲「細節」視圖控制器重複管理對象([[DetailController alloc] initWithObject:clonedObject inContext:newContext])。

但是我很困惑從源對象到克隆關係的關係重新分配的概念,因爲它們的管理對象上下文不同。什麼是正確的做法,以這樣的:

  1. 如果我只是重新分配指針值,不操心MOC或...
  2. 我應該取決於他們的唯一標識符在重新獲取新的上下文值是多少?
  3. 我沒想到的其他選項?

P.S.上下文使用相同的持久性存儲協調器。

回答

1

被管對象ID是線程安全的。因此,您可以將託管對象ID傳遞給視圖控制器中的MOC,通過existingObjectWithID:error檢索該對象,然後在該上下文中執行重複。這樣,這些物體就不會穿越MOC的邊界。

+0

任何特殊原因不會使用'objectWithID:'? – Eimantas

+0

ObjectWithID始終返回一個對象,即使該對象是故障。請參閱http://cocoawithlove.com/2008/08/safely-fetching-nsmanagedobject-by-uri.html –

相關問題