什么数据库更适合iOS应用程序开发以及如何实现搜索?

时间:2013-01-20 19:26:28

标签: ios database xcode

在过去的两周里,我一直在阅读和学习如何使用这些书籍创建iPhone应用程序:开始iOS 6开发故事板使用和学习目标C 。我一直在网上和通过这些书籍阅读教程,但一直无法找到我想要的东西。

我正在创建一个简单的应用程序,它是一个可搜索的动物列表,然后当您点击单个动物时,它会显示有关它的信息(名称,图片,重量和原生位置)。我希望能够通过常用名称或其物种进行搜索,用户可以选择动物并阅读有关它的信息。没有添加新动物或编辑列表。接下来我希望能够按大陆排序。因此,例如第一个场景将Animal作为一个单元格而Continents则作为另一个单元格。如果他们点击动物,它会拉起所有动物,并有一个UISearchbar搜索所有动物,他们可以继续点击。如果他们点击大陆(澳大利亚),它将仅在该位置填充可搜索列表。

我的问题是:我如何创建一个将这些变量链接在一起的数据库,然后能够通过搜索栏(plist,核心数据,sqlite)进行搜索?我应该将什么资源用于学习工具或教程?

3 个答案:

答案 0 :(得分:13)

最佳选择取决于数据的数量和复杂程度。如果每只动物只有几百只具有一些属性的动物,那么将所有数据放入一个plist并将所有数据加载到内存中就可以了。

如果您有更多包含大笔记和其他属性的数据,那么您可能无法将所有数据加载到内存中。然后使用SQLite将是一个更好的选择。

核心数据是另一种选择,但它具有最大的学习曲线,对于这样的简单数据可能过度。核心数据将是一个不错的选择,因为数据不是只读的,如果您有更多的关系,并且您希望跨设备同步用户数据。

答案 1 :(得分:8)

你正在阅读所有这些东西是件好事。我会尝试为你创造一个“愚蠢的”答案。

你问一个数据库。这意味着您可以在何处存储数据。 Apple和大多数技术人员用Persistence这个词谈论这个问题,或者我在哪里坚持数据。

三种常用的(但我肯定不是唯一的)存储方法是:

(1)在一个称为plist文件的文本文件中 (2)在xml格式的文本文件中 (3)在sqlite文件或数据库文件中

如何访问此数据?

然后你将会听到关于CoreData的信息,Apple推出了CoreData,可以更轻松地访问存储的数据,并帮助小型设备处理大量数据。在没有coredata的情况下访问Sqlite数据库需要一些工作,但由于CoreData,它们使这更容易。

对于xml和plist,可以通过简单地将文件读入数组或字典来访问它们,然后像​​往常一样搜索或显示这些对象中的数据。

(关于sqlite / core数据的一个想法是,在设置CoreData时,你可以设置一个sqlite数据库,或者它可以是xml格式。)

一旦你了解了这两件事,你就可以根据你的需要进行混合和匹配。如果您有大量数据并使用它做了很多,那么具有CoreData访问权限的sqilte文件将是一个不错的选择。如果它是一个非常少量的信息,那么您可以使用一个简单的plist文件并使用Array或Dictionary对象来获取信息,使用它然后再将它存储在文件中。

在你的情况下,它听起来像一个简单的plist会工作。

答案 2 :(得分:3)

核心数据通常被选为首选的iOS数据库技术,如果您想在iOS中熟悉一些数据库,那么您应该从那里开始。使用您最喜欢的搜索引擎并查找“核心数据教程”。 Ray Wenderlich在他的教程中经常做得很好,你一定要查看Apple链接(http://developer.apple.com上的视频和各种“入门”文档)。在考虑在Stack Overflow上发布后续问题之前,先阅读一两个教程。