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

为iPad应用选择数据驱动方法,ipad,Ipad,我有一个新的iPad应用程序,它是数据驱动的(读取、删除、创建、更新),需要在安装了该应用程序的iPad设备上进行数据持久化。该应用程序大约有10个表;这10个表在某些方面是相关的(一对多;多对多;独立)。我不熟悉iPad上的数据驱动应用程序 我不知道我应该采用核心数据方法还是SQLite方法。哪种方法更好,面向现实世界?请告知。非常感谢。我的建议是两个都试试;勾勒出你的应用程序的两个简单版本,每个版本都有一个实现。当然,核心数据在后台使用SQLite作为存储,但它远不止于此。在我看来,这是一个

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


我不知道我应该采用核心数据方法还是SQLite方法。哪种方法更好,面向现实世界?请告知。非常感谢。

我的建议是两个都试试;勾勒出你的应用程序的两个简单版本,每个版本都有一个实现。当然,核心数据在后台使用SQLite作为存储,但它远不止于此。在我看来,这是一个非常复杂、笨重的问题,但它涉及到建模和持久化具有属性的对象,在删除关系中涉及的对象时,它可以帮助保持一致性,而NSFetchedResultsController有助于以内存高效的方式填充UITableView。使用SQLite,它只是一个数据库,仅此而已;您必须完成所有的工作,但是有很好的Objective-C前端,您完全可以控制,而不必以核心数据非常奇怪的方式完成所有工作

我的书中有一小段展示了一个微型核心数据应用程序,尽管它很小,但你可以看到我花了很多时间在核心数据的特殊处理方式上:

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


我建议您在承诺之前先阅读一本关于核心数据的书。有几个好的。我并不是说它不好,但它根本不是一项初学者技术,你真的需要知道你的目的是什么。

我认为,你的核心数据走在正确的轨道上,你需要问自己的是,你的数据是如何被用来对抗每种方法的好处的。核心数据允许您使用诸如NSDictionary之类的数据类型更新和写入数据,而NSDictionary不需要任何开箱即用的技术来处理和写入数据,就像SQLite一样。SQLite确实可以工作,并且可以按照您的意愿工作,但在我看来,使用第三方包装器只是实现本机功能的又一步