我正在使用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