2015-06-03 63 views
0

我正在研究涉及併發性爲Core data的iOS SDK。 用戶的情況是:iOS核心數據併發性和其他後臺隊列

  1. 應用在主隊列調用API SDK's與回調
  2. Core data工人MOC是NSPrivateQueueConcurrencyType。它需要在其隊列中創建模型並保存爲持久性。
  3. 然後,SDK需要在後臺做一些冗長的操作,然後在主隊列上運行回調;或
  4. MOC仍然需要更新其隊列中的模型並在主隊列上運行回調 。

enter image description here

這是我設計的。理論上,它應該起作用。但是,它看起來有點複雜。還有其他解決方案嗎?

回答

0

它在實踐中可能看起來有點複雜,它可能是最簡單,結構最好的方法。

從技術上講,你可以只用2個隊列(真的線程)和NSConfinementConcurrencyType - 假設你只有1個後臺線程,你的圖是不是100%清楚 - 但它實際上使你的核心數據的工作多一點棘手和不太明顯。如果您總是使用私有隊列上下文,那麼您知道在上下文中操作的所有內容都需要位於該塊中,並且很容易看出任何錯誤在哪裏。

如果你要有多個後臺線程全部更新上下文,那麼你的圖是最簡單的選擇。