我正在使用sqlite數據庫來存儲我的iPhone應用程序的數據。我知道這個sqlite文件的位置在Users/Leontien/Library/Application Support/iPhone Simulator/7.0/Applications/4ACB095B-D6B7-488F-AB18-27800A3386E4/Documents中。我的數據庫數據在哪裏(核心數據,iOS)
當我啓動應用程序時,我可以創建一些數據庫對象。我可以在tableview中看到創建的對象。當我停止並啓動我的應用程序時,它會顯示已創建對象的列表。所以我知道我的數據存儲在某個地方。
當我打開上面提到的路徑中的sqlite文件時,SQLite數據庫瀏覽器顯示一個完全空的數據庫(沒有表存在)。這不是我所期望的...
我在哪裏可以找到我的數據庫數據?
我在AppDelegate.m中使用了以下代碼,用於核心數據。
#pragma mark - Core Data stack
- (NSManagedObjectContext *)managedObjectContext {
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return _managedObjectContext;
}
- (NSManagedObjectModel *)managedObjectModel {
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
_managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
return _managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"PetHealth.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
}
謝謝,我可以看到與SQLite管理器的數據。一個額外的問題:數據位於隱藏文件夾庫中。我可以在Finder中看到這個文件夾,但是當我在SQLite Manager中選擇一個文件時沒有看到。有沒有辦法改變這個?現在我在查看它們之前複製了這些文件... – Leontien
sqlite數據瀏覽器停止爲我顯示數據,但SQLite管理器效果很好。 – mkc842