基於核心數據的iOS應用程序的一些客戶偶爾會丟失數據。這些報道非常奇怪,這就是我想要請你承擔這個問題的原因。客戶報告說,當他們在一段時間(幾分鐘,幾小時或次日)後重新打開應用程序時,他們的一些數據丟失,就好像底層數據庫恢復到之前的狀態一樣。核心數據沒有明顯原因地恢復到以前的狀態
我一直與核心數據工作了好幾年,從來沒有遇到過這樣的問題。該應用程序非常簡單,這意味着我只使用一個託管對象上下文,並且在應用程序轉到後臺之前提交更改。
我意識到這是一個遠射,但什麼可能是這種類型的問題的一些潛在原因或我可以做什麼檢查以收集更多信息?不幸的是,我不能自己重現這個問題,這會讓這一切變得更容易。
更新:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (_persistentStoreCoordinator) return _persistentStoreCoordinator;
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Prime.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:@{ NSMigratePersistentStoresAutomaticallyOption : @YES, NSInferMappingModelAutomaticallyOption : @YES } error:&error]) {
// Error Handling
}
return _persistentStoreCoordinator;
}
你設置任何['pragma'選項](http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/Articles/cdPersistentStores.html#//apple_ref/ doc/uid/TP40002875-SW12)在您的商店? –
@DanShelly號我已經用你指的代碼片段更新了這個問題。 –
當**完全**您是否保存更改? –