【问题标题】:SQLite, CoreData or Static Data? [closed]SQLite、CoreData 还是静态数据? [关闭]
【发布时间】:2016-07-23 13:10:28
【问题描述】:

我正在开发一个应用程序,基本上是一个医疗应用程序。应用程序中的所有数据都是静态的。大多数应用程序是只读应用程序,我必须放置的数据是大块/段。例如。 “血型历史” 这部分包含 3 个 PDF 页面的数据,我必须输入这些数据。我的问题是哪个数据库更可取? SQLite、CoreData 或任何其他数据库?任何帮助将非常感激。 TIA。

【问题讨论】:

  • 如果是静态的,为什么不把它保存在主包的plist文件中呢?

标签: ios objective-c iphone sqlite core-data


【解决方案1】:

我会更喜欢 sqlite。 请参阅下面的链接以获得正确的指导。何时使用 sqlite,何时使用 plist。 https://stackoverflow.com/a/5959578/1850983

【讨论】:

    【解决方案2】:

    我不建议您自己使用 SQLite,因为有许多免费的现代数据库可用,它们提供了更多的内置功能。例如关系处理,将任何文件与记录关联而不将其保存为数据库中的 blob,记录的并发访问。

    我会建议你使用 CoreData 或 YapDatabaseRealm

    我个人使用 YapDatabase,它提供了大量的功能,而且在性能方面也很棒。

    您只需要创建一个数据导入器类。还有一个用于导入数据的示例项目。

    【讨论】:

    • 没有。当 Core Data 提供了一个集成良好、快速、可靠并得到 Apple 支持的优秀工具时,为什么还要用其他人的代码库来负担自己的负担,这些代码库会让你感到兴奋和干燥(参见:Parse.com)?不是说不可能有情况,但我没有遇到任何情况。
    • Yapdatabase 有据可查并得到积极维护。顺便说一句,我并不反对使用 coredata,因为它是具有出色功能的官方框架。我的观点是不要自己使用 SQLite。
    • 在 NSFetchedResultsController 上的失败是 IMO 的一大损失。
    【解决方案3】:

    将 Core Data 与 SQLite 数据库一起使用。 SQLite 数据库可以很容易地包含在您的应用程序包中,并在第一次运行时移动到文档文件夹中。你什么都没说,但是如果以后需要更新,很容易替换 SQLite 数据库。

    我之前确实看过这个,Core Data 提供了太多不使用它的功能;而且我找不到不使用 Sqlite 商店的充分理由。不过,如果您需要,它可以让您选择不同的商店。

    顺便说一句,我们确实将图片存储在数据库中,但不是全分辨率。使用我们的图片,我们可以压缩到 100K 或更少,并将它们放入 Core Data。这种安排完全没有性能问题。

    关于独立 SQLite 与 Core Data 的更多评论。如果您在其他地方使用 SQL,SQLite 很容易理解,而且我有很多,所以对我来说很好。但是当你使用 iOS 控件时——比如 UITableView 和 UICollectionView 等,Core Data 的“适配”就更好了。 Core Data 旨在与这些控件很好地配合使用,而且它非常好,值得学习使用 Core Data。即使你不得不忘记你所知道的关于关系数据库的一切。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 2012-07-12
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多