首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否打开和操作.xcdatamodeld-文件/ SQLite的记录?

是否打开和操作.xcdatamodeld-文件/ SQLite的记录?
EN

Stack Overflow用户
提问于 2012-02-14 06:52:16
回答 1查看 362关注 0票数 0

我正在尝试编写我的第一个iPhone-App,它应该是数据驱动的。现在,我在提供输出时遇到了一些问题--而且我不确定插入的效果如何……

所以我现在想要做的(或者:我会对桌面/服务器应用程序做什么)是检查DB-Content并操作它们以进行测试……

但是我不知道如何在我的数据模型设置后面打开数据库。在互联网上,我找到了一些提示,可以在.xcdatamodeld文件夹中找到sqlite-file。所以我下载了SQLiteManager -但当我试图打开文件时,我得到了一个“该文件已加密”的-message。我从来没有添加过密码,它也不是我的root密码。

那么我如何打开这个文件呢?或者在XCode中有解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 00:26:01

我也面临着同样的问题。我的调查线索将我带到了iOS开发人员库example

主要思想是在我们的数据模型和*.sqlite文件之间创建协调器(链接)。这个文件我们可以观察,编辑,复制和导入。

代码语言:javascript
复制
- (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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9269257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档