gpt4 book ai didi

iphone - 将sqlite数据导入CoreData

转载 作者:行者123 更新时间:2023-11-29 04:53:44 25 4
gpt4 key购买 nike

在我们的应用程序中,我们下载大约 48 个 sqlite 文件,每个文件大小约为 300kb,并将其保存到磁盘。当用户进入模块时,将根据某些条件读取并显示任何文件中的数据子集。当用户在模块中滚动时,当 ScrollView 停止滚动时,我们确定其停止的位置,并相应地查询适当的 sqlite 文件以获取数据并显示在屏幕上。向用户显示数据大约需要 2 秒。我们想要对此进行优化,并且我读到查询 CoreData 而不是 sqlite 文件可以使速度更快。

所以,问题是,我们是否应该尝试将每个sqlite文件中的数据放入CoreData中,然后始终查询CoreData。我担心的是,由于我们有 48 个文件,因此需要以这种方式插入的数据太多。另一种方法是仅将获取的数据子集加载到 CoreData,而不是所有文件。但这意味着在显示数据之前我们要确定它是否已在 CoreData 中获取并可用,否则我们查询 sqlite。关于什么是更好的方法有什么建议吗?

最佳答案

根据您提供的信息量,不可能真正了解核心数据对您的应用程序是否有意义。您必须向其他人提供大量信息,才能对此事提出真正消息灵通的意见,而这样的决定非常重要。

顺便说一句,您似乎有这样的印象:所有数据都必须放入核心数据中的巨大数据库文件中 - 事实并非如此。您可以拥有许多托管对象模型文件(这些是核心数据的最终产品持久数据库文件,名为.xcdatamodeld)并有选择地打开它们。

你最好的选择是做一些研究,尝试找出 Core Data 和直接使用 SQLite 之间的关键区别。他们都有自己的位置。 Core Data 在适当的情况下非常有用——它不是一个关系数据库,而是一个对象图和持久性管理器,并且具有重要的含义。 Core Data 已经针对月球和月球进行了优化,因此,如果您在正确的环境中使用它,那就太棒了——良好的性能,并做了一些繁重的工作来阻止您这样做。但在其他情况下,直接使用 SQLite 会是更好的选择。例如,参见 this blog post关于有人从 Core Data 转向 SQLite。

另请查看this nice article关于差异。当然,请阅读 Apple 自己的指南,以及 wikipedia page .

我们很难回答您提出的问题,但如果您对核心数据的某些更具体方面有疑问,请发布一些新问题 - 这类问题更容易回答。

关于iphone - 将sqlite数据导入CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8390043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com