为iPad应用程序选择数据驱动的方法

时间:2013-02-23 02:18:48

标签: ipad

我有一个新的iPad应用程序,它是数据驱动的(读取,删除,创建,更新),并且需要在安装了应用程序的iPad设备上保持数据持久性。该应用程序大约有10个表;这10个表在某些方面是相互关联的(一对多;多对多;并且独立)。我是iPad的数据驱动应用程序的新手。

我不知道我是否应该遵循核心数据方法或SQLite方法。哪种方法更好,更真实?请指教。非常感谢你。

2 个答案:

答案 0 :(得分:2)

我的建议是尝试两者;勾勒出应用程序的两个简单版本,每个版本都有一个实现。当然,Core Data在后台使用SQLite作为存储,但远不止于此。在我看来,它是一个非常复杂,笨拙的野兽,但它是关于建模和持久化具有属性的对象,当你删除一个关系中涉及的对象时它可以帮助很多,NSFetchedResultsController有助于填充UITableView以高效内存的方式。使用SQLite它只是一个数据库而且就是这样;你必须做所有的工作,但有很好的Objective-C前端,你完全掌控,而不是必须以Core Data的方式做所有事情。

我的书中有一小部分内容展示了一个微小的核心数据应用程序,即使它很小,你也可以看到我花了很多时间在核心数据的特殊处理方式的墙上敲打:

http://www.apeth.com/iOSBook/ch36.html#_core_data

上一节有几行显示从具有漂亮的Objective-C前端的SQLite数据库中获取数据是多么简单:

http://www.apeth.com/iOSBook/ch36.html#_sqlite

我建议您在自己承诺之前阅读有关Core Data的书籍。有好几个。我并不是说它很糟糕,但它根本不是初学者技术,你真的需要知道你的目标。

答案 1 :(得分:0)

我认为您在Core Data的正确轨道上,您需要问自己的数据如何被用来对付每种方法的好处。核心数据允许您使用NSDictionaries等数据类型更新和写入数据,这些数据类型不需要任何开箱即用的技术来处理和写入像SQLite那样的数据。 SQLite确实可以工作,并且可以按照你想要的方式工作,但在我看来,使用第三方包装器只需要采取一些步骤来实现已经原生化的东西。