我的應用程序連接到一個web服務,使用3種不同的方法執行POST,並將這3組數據中的每一個插入到Core Data中。每當新數據可用時,核心數據中的所有內容都將被刪除並插入新數據。這三種方法中的每一種都顯示在不同的TableViewControllers
中,這意味着每次顯示這些TableViewControllers
中的每一個時,都會有3個以上的提取。正確的線程執行刪除,插入和從核心數據中提取
包裝起來,我們有3組數據從Web服務中獲取,然後我將所有這些插入到不同的實體中,同時獲取新的數據以顯示在主要的TableViewController
中。
現在我正在努力處理線程和多上下文核心數據結構的複雜關係。我應該在哪裏執行插入,刪除和獲取以確保我的應用程序的線程安全?
你有多少數據?你目前有什麼上下文和線程? – Wain
@有限數據相對較小。每個實體大約有一千條記錄。 NSURLSession與主線程上的完成處理程序一起工作。然後它調用一個方法來刪除(這是在主線程NSMainQueueConcurrencyType上完成的)並插入(主線程/ NSPrivateQueueConcurrencyType)。然後在主線程和主要上下文中進行獲取。 – user3687