SQLitePersistentObjects又称SQLLite持久对象与直接执行SQLite不同。它本身就是一个ORM。我还没有使用它,但我想纠正上一张海报给出的完全错误的答案。
我正在认真考虑使用,因为Core Data很痛苦。
看到: http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistent-objects.html
关于我使用SQLitePersistentObjects的经验的一些信息。
最初为iOS 3.x开发的应用程序使用SQLPO工作得很好。易于使用等 现在我正在将这个应用程序带到iOS 4,事情开始变得奇怪。
我现在以不可预测的速度看到数据库损坏。
查看SQLPO代码显示只有一个sqlite3_close语句,并且在无法打开DB时调用此语句。
我打算添加一个方法来明确地关闭数据库,并从我的应用程序委托终止和iOS4 didMovetoBackground方法调用它。 可能有助于避免SQLPO的数据库损坏问题。
看到这个问题。我对这个问题的回答也适用于你的问题。
核心数据VS SQL语句,哪一个是iphone开发的gd?
作为SQLite Persistent Objects的作者,我说:使用Core Data。
当Core Data不存在于手机上时,我写了SQLPO。虽然我为我对SQLPO所做的事情感到自豪,尽管我确实比Core Data更喜欢它的方法(特别是不需要维护单独的类文件和数据模型),但Core Data的引擎更为成熟,有更多的工程时间投入其中。这就是为什么当Core Data进入iPhone SDK时我放弃了SQLPO开发。
我没有做基准测试,但我猜测使用正确,Core Data在几乎所有高容量情况下都会表现得更好。
SQLPO的开发速度更快,因为您所做的只是创建头文件,但除非您的数据需求相对较轻,否则我说您最好使用Core Data。
我最近不得不做出同样的决定。我正在存储一个带有几个属性的简单对象的实例。根据我的研究,我了解使用Core Data将帮助您更好地管理具有多种关系的更复杂对象。我最终只使用Core Data,因为我想了解更多关于它的信息(但对于简单的对象,没有太多的学习曲线)。