我在我的NSManagedObjectContexts
上使用performBlock
,以便我的更改發生在給定上下文的右側隊列中。我的問題是 - 如果我在performBlock
之內進行了很多更改和調用方法 - 是否有一種簡單的方法可以確保我使用正確的上下文中的對象。核心數據 - 從NSManagedObjectContext調用的共享代碼peformBlock:
實施例:
我有一個activeAccount
IVAR(在主隊列中創建),其用於在應用程序的當前帳戶NSMangedObject
。我有一些實例方法使用activeAccount
對象執行某些任務 - 獲取數據,設置數據。所以我的問題是,如果我在背景NSManagedObjectContext
上做了些什麼,並且我調用了其中一種共享方法 - 是否有一種我可以使用的模式,以便在我知道的這些方法中使用當前的activeAccount
iVar或獲取新的。此外,如果我需要做一些事情需要NSManagedObjectContext
- 我怎麼知道哪一個得到/使用。
我知道使用哪個NSManagedObjectContext
的方法是我有一個方法,檢查它是否在當前線程上運行 - 然後知道返回主線程的上下文或後臺線程的上下文。此外,如果我在後臺線程上,我是否允許讀取位於主線程上的activeAccount
的對象ID,以便我可以在後臺線程上獲取它的副本?提前致謝。
我正在爲iOS開發。我真的只有兩個MOC,一個用於主線程,另一個用於後臺運行。我想我的問題是我有代碼,我試圖重用,所以我已經放入方法。但我不想說X方法只能在這個ManagedObjectContext中運行。在一個案例中,我正在創建一個新的賬戶關係。包含它的對象有一個賬戶iVar。所以我試圖決定是否可以加入到iVar中,或者是否需要爲後臺MOC創建另一個帳戶對象。也許我需要將每種方法限制在給定的MOC上。 – Brian