我目前通過並行執行的多個線程執行多個網絡請求,因此每個線程都有一個託管對象上下文,並且每個線程都爲Core Data實體設置屬性值。所以這就是困境,每個網絡請求一次只能獲得少量數據,並且有數百(甚至數千)這些請求,並且我希望在所有網絡操作發生後執行保存(以便我可以安全地假設保存的數據意味着所有內容都已成功下載並寫入商店)。所以兩個問題:使用多重管理對象上下文問題
- 難道我救每個被管理對象上下文中的每個線程完成寫入上下文後,還是我存儲在內存中的所有管理對象的上下文,並在最後循環個個並進行保存? (寫完這些之後,很明顯移動存儲會是更有效的方法,但我仍然希望聽到您的想法。)
- 有什麼方法可以在不執行保存操作的情況下合併託管對象上下文嗎?我目前正在通過NSManagedObjectContextDidSaveNotification通知合併上下文,並想知道是否有另一種方式。
謝謝!
你會產生「成千上萬」的線程/操作? – TechZen
是啊,聽起來很蠢,我知道,但它不會一次全部實現,只有2或3個線程會同時運行。目的是從Web服務器提取數據。 – Stunner