0
我有我認爲是一個有點典型的問題,我刪除和更新後臺線程上的CoreData數據,而當UITableView呈現CoreData對象的先前獲取數組時,I得到:問題重現CoreData'不能履行故障'崩潰
"NSObjectInaccessibleException CoreData could not fulfill a fault for"
我讀了一堆建議如何可能解決它,但之前,我去盲目添加代碼,我想先重現該問題。
對於我的測試用例,我有三個步驟。
- 從CoreData
- 創建一個後臺線程獲取項目。在新線程中創建長循環(可能是100次迭代),其中數據庫被擦除並重新加載,就像在崩潰中一樣。後臺線程創建一個新的NSManagedObjectContext,但與主要上下文共享PersistantStore。
- 將主UI線程發送到一個無限循環(> 10,000次迭代),該循環不斷從主上下文中獲取新項目,然後遍歷獲取的對象。我也試過這個測試,只是迭代原始列表的獲取對象而不重新獲取。
我期望這個測試用例會導致NSObjectInaccessibleException錯誤,但一切正常,我無法重現崩潰。在審查我的代碼和不能重現此錯誤之間,我覺得我正在做的一切正確。然而,不知何故,在這個瘋狂的情況下,這個崩潰顯現
關於如何重新創建此次崩潰的任何想法?
好主意。我會盡量大幅增加至少一個因素保存的記錄數量。 – dirkoneill 2014-10-10 05:07:13
我已經添加了多達100,000條記錄被刪除並保存,同時我重新加載包含原始數據的UITableVIew。我似乎無法再現這次崩潰,但它仍然出現在Crashlytics中。 – dirkoneill 2014-11-11 21:34:40