SQLite,CoreData还是静态数据?

时间:2016-04-04 05:25:24

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

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

3 个答案:

答案 0 :(得分:1)

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

我之前真的看过这个,Core Data有太多不能使用它的东西;我找不到一个很好的理由不使用Sqlite商店。不过,如果您需要,它还可以为您提供不同商店的选项。

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

对独立SQLite与核心数据的再评论。如果你在其他地方使用SQL,那么SQLite很容易理解,而且我已经广泛使用它对我来说很好。但是当你使用iOS控件时 - 比如UITableView和UICollectionView等,核心数据的“适应性”要好得多。核心数据旨在与这些控件很好地协作,并且使用核心数据是值得学习的。即使您必须忘记关于关系数据库的所有知识。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

我建议您使用CoreData或YapDatabaseRealm

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

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