Iphone 核心数据与SQLitePersistentObject

Iphone 核心数据与SQLitePersistentObject,iphone,cocoa-touch,core-data,persistent-storage,Iphone,Cocoa Touch,Core Data,Persistent Storage,我正在创建一个iPhone应用程序,并尝试在两个解决方案中选择一个持久性商店 核心数据,或。基本上,我的应用程序所需要的只是一种存储模型对象数组的方法,然后再次加载它们以在UITableView中显示。没什么太复杂的。核心数据似乎比简单易用的SQLitePersistentObject具有更高的学习曲线。在我的例子中,在SQLitePersistentObject上使用核心数据有什么明显的好处吗?请看这个问题。我对这个问题的回答也适用于你的问题 我最近不得不做出同样的决定。我存储了一个简单对象的

我正在创建一个iPhone应用程序,并尝试在两个解决方案中选择一个持久性商店


核心数据,或。基本上,我的应用程序所需要的只是一种存储模型对象数组的方法,然后再次加载它们以在UITableView中显示。没什么太复杂的。核心数据似乎比简单易用的SQLitePersistentObject具有更高的学习曲线。在我的例子中,在SQLitePersistentObject上使用核心数据有什么明显的好处吗?

请看这个问题。我对这个问题的回答也适用于你的问题


我最近不得不做出同样的决定。我存储了一个简单对象的实例,它有几个属性。从我的研究中,我了解到使用核心数据将帮助您更好地管理具有多种关系的更复杂对象。我最终使用核心数据只是因为我想了解更多(但对于简单对象,没有太多的学习曲线)。

SQLitePersistentObject又名SQLLite持久对象与直接使用SQLite完全不同。它本身就是一种ORM。我还没有用过它,但我想纠正上一张海报给出的完全错误的答案

我正在认真考虑使用,因为核心数据是一个难题


请参阅:

作为SQLite持久对象的作者,我说:使用核心数据

当手机上不存在核心数据时,我编写了SQLPO。尽管我为我使用SQLPO所做的事情感到自豪,而且尽管我确实喜欢它的方法优于核心数据的一些方面(特别是不必维护单独的类文件和数据模型),但作为核心数据基础的引擎要成熟得多,并且在它上面投入了更多的工程时间。这就是为什么当核心数据进入iphonesdk时,我放弃了SQLPO开发

我还没有做过基准测试,但我想如果使用得当,核心数据在几乎所有高容量情况下都会表现得更好


SQLPO的开发速度更快,因为您只需创建头文件,但除非您的数据需求相对较少,否则最好使用核心数据。

关于我使用SQLitePersistentObject的经验的一些信息

最初使用SQLPO为iOS 3.x开发的应用程序运行良好。易于使用等。 现在我正在将这个应用程序带到iOS 4上,事情开始变得奇怪

我现在看到数据库以不可预测的速度损坏

查看SQLPO代码可以发现只有一个sqlite3_close语句,当数据库无法打开时调用该语句

我计划添加一个方法来明确地关闭数据库,并从我的应用程序中调用它。对于iOS4 didMovetoBackground方法,Declares terminate和Declares。
可能有助于避免SQLPO的数据库损坏问题。

这不是因为SQLitePersistentObjects是一个ORM。这是因为您应该使用Apple tech来实现这一点,这就是他们编写核心数据的原因。花时间研究核心数据和理解技术是值得的。您的答案将使用裸SQLite与使用核心数据进行比较。这是一个不正确的比较。SQLPO!=裸SQLite。我同意研究核心数据是好的,但不应立即放弃替代方案。核心数据是苹果API设计的黑暗时刻的一个例子。将其与rails中的ActiveRecord和其他优秀的ORM进行比较……前面的答案是什么?现在,你上面的那个人是写SQLPO的人,我怀疑这就是你的意思,更可能的是,重新安排了答案。你能具体说明一下吗?根据日期,我一定是指Marcus S.Zarra的回答。我意识到使用核心数据是福音,但它仍然充满了bug和恼人的东西,任何使用过的人都会讨厌,例如ActiveRecord。没人想听这个,但要小心。杰夫,你放弃了太可惜了,因为平台真正需要的是一个不是核心数据的优秀ORM。