我想爲主線程使用一個ManagedObjectContext
,使用NSOperation
爲後臺線程分開一個,就像Apple建議的那樣。而且,每個ManagedObjectContext
共享相同的持久性存儲。在覈心數據的後臺線程上使用提取請求
可能會在主線程上發生取數,因爲我使用核心數據填充表視圖。
在後臺中,我需要訪問存儲圖像名稱的NSManagedObject
屬性。然後,後臺線程將創建並緩存這些圖像,這是創建後臺線程的主要原因。
鑑於此,如果兩個線程都嘗試訪問持久性存儲,是否存在任何危險(如鎖定),因爲兩者都可能同時從中獲取數據?
好嗎?我在蘋果文檔中沒有讀到任何有關這方面的信息。你能指出我的來源嗎? – 2012-03-08 00:06:42
我從來沒有在文檔中找到它。這是辛苦賺來的經驗和一些長時間的調試會議。如果您將兩個不同的線程不斷寫入此答案中的相同NSPSC – amattn 2012-03-08 00:13:58
示例代碼,則很容易重新生成代碼:http://stackoverflow.com/questions/5236860/app-freeze-on-coredata-save/5237031#5237031 – amattn 2012-03-10 15:14:36