NSBundle中的CoreData sqlite文件

时间:2016-08-07 00:21:45

标签: core-data nsbundle nspersistentstore

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

项目1。 因此,我创建了一个项目并将该JSON文件中的数据导入Core Data。 Core Data创建以下sqlite文件:wholeDataList.sqlite,wholeDataList.sqlite-shm和wholeDataList.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是一种可靠的方法,其中存储了wholeDataList.sqlite,wholeDataList.sqlite-shm和wholeDataList.sqlite-wal文件?

一般来说,它们都在文档目录中。

1 个答案:

答案 0 :(得分:0)

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