我正在使用AFNetworking從服務器獲取JSON對象。然後我使用ObjectiveRecord來創建數據對象(Core Data)。有時我會搜索並更新對象。這在模擬器上以及我的iPhone 5上都能很好地工作。但是,當使用iPhone 5S時,它不起作用。當執行insertNewObjectForEntityForName
(在ObjectiveRecord代碼中)時,我得到一個EXC_BAD_ACCESS
。AFNetworking不正確通過ObjectivRecord(核心數據)創建/更新
閱讀了大量關於核心數據和線程的文章,這使我相信我應該使用私有上下文,使用NSPrivateQueueConcurrencyType
。
我用建議的方式來設置這ObjectiveRecord,那就是:
NSManagedObjectContext *newContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
newContext.persistentStoreCoordinator = [[CoreDataManager instance] persistentStoreCoordinator];
然後我用createInContext:
在AFNetworking完成塊創建我的對象。
我發現在SO過類似的問題,但它不使用ObjectiveRecord:Get a number of resources asynchronously and "asynchronously" save them to a database. Which good pattern to use? (AFNetworking, Core Data)
不過,我不明白這一點的工作。我究竟做錯了什麼?還是我在錯誤的軌道上?
你可以嘗試啓用'NSZombie'可能趕上墜機原因,當然它沒有涉及到'AFNetworking'是與CoreData實施。相同的代碼在其他設備上工作正常嗎? – iphonic
要啓用'NSZombie',去'MenuBar' - >'Product' - >'Scheme' - >'編輯Scheme',然後單擊'Diagnostics'選項卡上。啓用「啓用殭屍對象」複選框。你會看到像' - [UITableView的發行]:在您的日誌發送到重新分配的instance'而不是拋出異常的消息。它應該幫助你找出哪個對象已被釋放。 – ertemplin
這個問題只出現在iPhone 5S。見問題;-) 我將嘗試使用NSZombie,看看我是否能得到一些更多的提示。 –