是否有一種安全的方式來刪除應用程序中的持久性存儲(並創建一個新的),其中的其他線程正在使用與要刪除的存儲關聯的NSManagedObjectContext?我試圖鎖定NSPersistentStoreCoordinator並在操作結束後將其解鎖,但這並沒有幫助 - 我所有的嘗試都導致了死鎖。它總是發生在這條線(主線程上執行):核心數據 - 移除持久性存儲時發生死鎖
[self.persistentStoreCoordinator removePersistentStore: store error: &error];
你可以發佈相關線程的堆棧跟蹤圖像嗎? –
你在使用線程限制或隊列限制嗎?你正在使用父子上下文嗎? – quellish
你首先應該確定**你爲什麼要這麼做,然後看看你是否可以想出另一種解決方案。在大多數情況下,你最好先拆除整個堆棧,並確保託管對象的任何東西都聽取有關堆棧消失的通知,以便釋放它們的引用。你所要做的就像把摩天大樓的一樓扯下來,並期待一切都保持原樣。 –