【发布时间】:2019-10-29 19:43:53
【问题描述】:
我想保存大量数据到CoreData,我的数据资源在CSV 格式。
我知道以下实现方法。
- 在 Multiple MOC 的帮助下 - 我已经尝试过这个,但它只能帮助我不要在 主线程 上冻结我的应用程序,实际上在启动后我想要在后台线程中保存数据时也使用该数据 - 可能不会立即在所需屏幕上获得该数据(实际上,即使我面对它,我也无法获取我想要的实体 - 也许还剩下要保存在 CoreData 堆栈上吗?)
- 我需要将该文件转换为 plist 扩展名 文件吗?在 plist 文件中存储大量数据是个好主意吗?不幸的是,我找不到将我的 .csv 文件转换为 .plist 文件的任何 在线工具?我想从 plist 中读取数据没什么大不了的。
-
预加载的数据库需要导入CoreData,现在我正在通过这种方式工作,我成功地将我的CSV文件转换为SQLite文件并将其导入到包中,然后将其从包中复制到NSPersistentContainer 将被初始化 的文档目录。现在我对这一点有一些疑问,如下所示。
- 我在文档目录中找到了 SQLite 文件,但实际上 只需复制 带有我的 CoreData 实体的现有 SQLite 表, 我想要的是现有 SQLite 中的一个表应该是 merge 使用我的 CoreData 实体,我是否需要为每个循环遍历表 行,然后手动将其保存到实体?如果是这样,那么它是一样的 我在第 1 点提到的情况。?
- 在某处我发现 CoreData DB 结构 和 SQLite DB 结构 是不同的,所以我做了什么 - 我创建了一些虚拟数据 在 CoreData 上找到了 SQLite 文件,在那个 SQLite 文件里面我 导入来自 CSV Table 的数据,现在我使用的那个 SQLite 文件 在应用程序包中,我想我在这里实现了一些东西,因为我得到了一个 错误说迁移失败,因为数据库中已经存在表,不要 我需要先define Entity到DataModel中?或者不要我需要 在 SQLite 文件中创建表?(如果是这样,那么我可以在哪里 预填充数据?)
请建议我需要做什么?我怎样才能实现它?此外,如果您建议任何其他选择这样做,那就太好了。
【问题讨论】:
-
从你所有的问题中选择一个并提出这个问题。现在这个范围太广了。用粗体字放轻松。
-
编辑您的问题并删除不相关的信息,以便清楚您在问什么。
-
看到这些问题和使用的字体,我的眼睛很痛
标签: ios swift sqlite core-data