由于CoreData已经可以在OS 3.0中用于iPhone,它是否意味着数据持久性的答案并取代所有直接需求SQLite
?
还有什么理由可以使用SQLite
?什么是SQLite
vs.的优点/缺点CoreData
?
这是一个常见的问题:
"Core Data vs. SQLite for SQL经验丰富的开发人员"
"核心数据与Sqlite和性能......"
"核心数据vs sqlite3"
"是否值得在iphone上使用一个简单的sqlite应用程序的核心数据,只有一个表,没有任何关系或复杂的子表/视图?"
总之,Core Data可以极大地简化您的代码,特别是对于复杂的对象模型.你几乎可以免费获得撤销/重做支持.它还提供了一些非常显着的性能优势,特别是在iPhone上.即使它看起来违反直觉,考虑到你认为框架有多少开销,在大多数情况下,你可以使用Core Data击败手工调优的SQLite的性能.在iPhone上,它可以很好地批量提取以最大限度地减少内存使用.
正如所指出的那样,一个缺点是,这会限制您为最终用户提供iPhone OS 3.0.但是,这对我的用户来说根本不是问题,而且只会变得不那么好.
这可能是一个较小的好处,但SQLite在平台之间更容易移植,因为Core Data是Cocoa的一部分,而SQLite是纯C.这意味着如果你想将应用程序移植到PC,例如,你会有在使用纯SQLite的情况下重写的代码较少.
然后,如果您想使用本地数据库(不一定与任何iPhone应用程序相关)开发任何其他跨平台的东西,那么您将拥有一些使用SQLite的经验.