译者序

在开发iOS应用程序的时候,经常需要考虑怎样管理数据,而Core Data正是一种易于使用的数据管理框架。若想系统地掌握Core Data的用法,那不妨花点时间看看这本书。与讲解Core Data的其他教材相比,本书有几个特点值得关注。

首先,它用Grocery Dude购物管理程序来贯穿Core Data的各项知识点,使读者能够以直观流畅的方式学会多种实用技巧,并且可以把在范例项目里学到的经验运用于自己的项目中。其次,它将全过程分解为很多章节,再将这些章节细分为若干步骤。这种循序渐进的讲解形式,令读者能够及时检视自己的学习进度,而且还能够清楚地了解每个知识点对于项目功能所起的作用。你只需把这些步骤稍加改编,即可将其推广到其他项目。最后,每章后面都有数道习题,这些习题不仅有助于培养读者的试验能力,而且还能够为深入研究Core Data提供一些线索。

本书内容可以分成三部分。前7章可以视为基础篇。一开始我们就会知道Core Data的适用场合,并且学会怎样为现有程序添加Core Data支持。其后,本书作者从基础知识、迁移方式及扩展方式这三个角度来讲解Core Data的托管对象模型。学会它的用法之后,作者将向大家演示怎样用图形界面来操作Core Data数据,具体来说,就是怎样用表格视图、视图及选取器视图这三种界面,打造一款简单而易用的Core Data程序。对于想要迅速学会Core Data的程序员来说,看完这7章之后,应该就能初步做出一款得体的Core Data程序了。

第8~12章可以看作进阶篇,作者深入讲解了如何为程序配备默认数据、如何更加精细地控制数据迁移、如何实现高效率的数据搜索等主题。其中,第10章尤为精彩,作者给程序添加了拍照功能,并以此为例,演示怎样寻找程序的性能瓶颈、怎样用各种工具来分析造成瓶颈的原因,以及怎样解决性能瓶颈。这种处理问题的思路,对于我们制作其他软件产品也是很有启发的。

最后4章应该算是扩展篇,通过与各种网络框架相集成,我们能够优雅地实现数据备份、数据恢复、多台设备间的数据同步以及多人协作等功能,从而进一步提高Core Data应用程序的品质。虽说作者是以Dropbox、iCloud及StackMob为例来讲解的,但大家也可以用类似的方式把Core Data程序与其他的云端硬盘或网络服务集成起来。

在翻译过程中,我得到了机械工业出版社华章公司诸位编辑与工作人员的帮助,在此深表谢意,还要感谢goldlion及ChenGe两位友人对术语翻译工作所提的建议。

由于时间仓促,译者水平有限,错误与疏漏之处在所难免,敬请各位读者批评指正。你可发邮件至eastarstormlee@gmail.com与我联系,也可访问http://agilemobidev.com/eastarlee/book/learning-core-data-for-ios/?variant=zh-hans网页留言。如果对某些术语的翻译有意见或建议,欢迎来https://github.com/jeffreybaoshenlee/IT-Terms-EN-CN/issues一起讨论。

爱飞翔