【问题标题】:CoreData sqlite file in NSBundleNSBundle 中的 CoreData sqlite 文件
【发布时间】:2016-08-07 00:21:44
【问题描述】:

我有一个 JSON 文件。大小约为 20MB。

项目 1。 因此,我创建了一个项目并将该 JSON 文件中的数据导入 Core Data。 Core Data 创建以下 sqlite 文件:整个数据列表.sqlite、整个数据列表.sqlite-shm 和整个数据列表.sqlite-wal。 将整个内容从 JSON 复制到核心数据并创建一次性文件需要 10 分钟。

现在在 Project2 中。 我复制了MainBundle中的所有三个文件。我必须创建.xcdatamodeld,就像我直接从Project1复制它一样,它没有找到.momd文件。

    NSURL *storeURL = [[NSBundle mainBundle] URLForResource:@"entireDataList" withExtension:@"sqlite"];
    store =[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedModel]];
    NSError *error;
[store addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error];

那么,NSBundle mainBundle 中的 storeURL 是一种可靠的方法吗,其中存储了整个数据列表.sqlite、整个数据列表.sqlite-shm 和整个数据列表.sqlite-wal 文件?

通常它们在文档目录中。

【问题讨论】:

  • 所以目的是这是启动应用程序的种子数据,但它可以由用户编辑并保存编辑?
  • 是的,就像没有用户输入一样。我也指出了这个。也就是说,我能读但不能写?

标签: core-data nsbundle nspersistentstore


【解决方案1】:

一般来说,您应该在首次启动时将包中的文件复制到文档文件夹中,然后从那里打开它们。然后,此方法将允许您编辑文件的内容并保存更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多