我正在尝试编写我的第一个iPhone-App,它应该是数据驱动的。现在,我在提供输出时遇到了一些问题--而且我不确定插入的效果如何……
所以我现在想要做的(或者:我会对桌面/服务器应用程序做什么)是检查DB-Content并操作它们以进行测试……
但是我不知道如何在我的数据模型设置后面打开数据库。在互联网上,我找到了一些提示,可以在.xcdatamodeld文件夹中找到sqlite-file。所以我下载了SQLiteManager -但当我试图打开文件时,我得到了一个“该文件已加密”的-message。我从来没有添加过密码,它也不是我的root密码。
那么我如何打开这个文件呢?或者在XCode中有解决方案吗?
发布于 2012-11-15 00:26:01
我也面临着同样的问题。我的调查线索将我带到了iOS开发人员库example。
主要思想是在我们的数据模型和*.sqlite文件之间创建协调器(链接)。这个文件我们可以观察,编辑,复制和导入。
- (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] retain];
return managedObjectModel;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Locations.sqlite"]];
NSError *error;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
// Handle the error.
}
return persistentStoreCoordinator;
}而且看起来,在使用DB的过程中,会在~/库/应用程序支持/iPhone Simulator/4.3.2/Applications/-*-*-*/Documents中创建.sqlite
https://stackoverflow.com/questions/9269257
复制相似问题