【Core Data是什么?】
Core Data是Mac OS X中CocoaAPI的一部分,首次在Mac OS X 10.4 Tiger与iOS 3.0系统中出现。 你可以用它来管理你应用中的模型(即MVC中的M),并以XML,二进制文件或SQLite数据文件的格式将其串行化。Core Data直接与SQLite交互,将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们,避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。
【为什么要使用Core Data?】
题外话:Core Data是一个进阶技术,也就是说,如果你只是开发一个很简单的应用,你无需用到Core Data。
1.Core Data直接与SQLite交互,避免开发者使用原本的SQL语句。(取而代之你将可以使用OC对象来与SQLite交互)对于那些并不是很熟悉SQL语句的开发者而言,这无疑是大好消息。
2.使用Core Data将大大减少你为模型编写的代码量!它能让你为Model层写的代码的行数减少为原来的50%到70%。 这归功于之前提到的Core Data的特性。更妙的是,对于上述特性你也既不用去测试,也不用花功夫去优化。
Core Data拥有成熟的代码,这些代码通过单元测试来保证品质。应用Core Data的程序每天被世界上几百万用户使用。通过了几个版本的发布,已经被高度优化。 它能利用Model层的信息和运行时的特性,而不通过程序层的代码实现。 除了提供强大的安全支持和错误处理外,它还提供了最优的内存扩展性,可实现有竞争力的解决方案。不使用Core Data的话,你需要花很长时间来起草自己的方案,解决各种问题,这样做效率不高。
3.CoreData不光能操纵SQLite,CoreData和iCloud的结合也很好,如果有这方面需求的话优先考虑CoreData。
4.除了Core Data本身的优点之外,使用它还有其他的好处: 它很容易和Mac OS X系统的Tool chain集成;利用Model设计工具可以按图形化方式轻松创建数据库的结构;你可以用Instruments的相关模板来测试Core Data的效率并debug。 在Mac OS X的桌面程序中,Core Data还和Interface Builder集成(打开Inspector可以看到有binding的选项,这个东东iPhone上木有。。。),按照model来创建UI变的更简单了。 这些功能能更进一步的帮助你缩短设计、开发、测试程序的周期。
更多Core Data特性可以参见苹果开发文档另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。