前言

对iPhone软件开发稍有了解的朋友应该都知道,要短时间从其他语言的程序员过渡为iPhone软件开发的程序员,必须掌握两个方面的iPhone编程知识,即Objective-C 2.0语言和iPhone SDK。对于有一定软件开发经验,特别是有面向对象语言(如C++,Java)开发经验的程序员来说,掌握iPhone软件开发所必需的Objective-C 2.0语言是没有多少难度,最困难的是学会对iPhone SDK中所提供各类框架(framework)的使用。iPhone SDK中光框架就要几十种之多,再加上各种动态链接库(Dynamic Library,提供各种特定功能的API库,如数据库应用、解压缩等),总计有上百种之多。在一本速成类型的书籍中不可能都一一涉及。以笔者的经验,完成iPhone软件开发的入门,最关键的是掌握用于开发iPhone应用程序界面的UIKit框架。实际上,运行iPhone/iPad/iPod Touch上的iPhone应用程序本质上类似于客户软件终端,开发时涉及最多的也是软件界面。

本着以上的想法,笔者编写了这本名为《20天搞定iPhone软件开发》的书。一共20讲,一天完成一讲的学习。本着循序渐进的原则,前10讲偏重于Cocoa面向对象编程的基本概念及Objective-C 2.0语言的语法基础,对于有面向对象编程基础且有一定编程经验的读者来说,学习起来应该很轻松,可能提前几天就可以完成学习。

第10讲以后开始进入iPhone软件开发的实战阶段,每一讲的内容都比较充实,其中包含了各种实例代码,鼓励读者在Xcode等开发环境中进行试运行验证。部分章节可能在一天之内难以掌握。其中第11讲至第13讲介绍了iPhone软件开发时经常用到的各种基础数据类型的使用知识;第14讲至第17讲是关于UIKit框架中各种类的使用方法及技巧,是学习iPhone软件开发时需要重点掌握的知识;第18讲介绍了在iPhone应用程序中使用数据库的技巧,包括直接使用SQLite数据库以及使用CoreData来间接操作SQLite数据库;最后第19讲和第20讲介绍了iPhone应用程序调试的基础,第19讲介绍了开发阶段的调试技巧,第20讲介绍如何在实际终端设备上进行调试的相关操作及技巧。

本书的目标是让对iPhone软件开发比较陌生的程序员成为初步具有“实战能力”的iPhone软件程序员,以本书中学习到的iPhone软件开发知识为基础,可以进一步学习iPhone SDK中的其他各种框架,逐步提高自己的开发能力。

武汉大学计算机学院王中元副教授以及朱蕾负责编写了本书中的部分内容。另外,江友华、罗伟、黄建峰、朱至濂参加了本书部分章节的审校及协助编写工作。在此特别感谢电子工业出版社包括孙学瑛编辑在内的各位编辑在本书编写过程中的大力支持。

作者

2012年8月