Swift正逐步进入iOS App的实际应用开发,而Apple在WWDC2015上发布了Swift 2.0版本,这也表明了Apple对Swift的支持决心,不难预测,Swift的市场份额肯定会超过传统的Objective-C。
本书是《疯狂Swift讲义》的第2版,本书以最新的OS 10.11为平台、以Xcode 7.1为开发工具,全面介绍了Swift 2.1的语法、以及使用Swift开发iOS应用的知识。本书全面覆盖了Swift的基本语法结构、Swift函数式编程特征、Swift的面向对象特征、Foundation框架的核心类库用法等知识,并通过示例介绍了如何在iOS应用中混合使用Swift与Objective-C进行开发。本书重点介绍了repeat while循环、guard语句、API检查、条件编译、Set集合、错误处理机制、协议扩展等Swift 2.x新增的内容,这样新增的内容使得Swift具有更强的生命力。
本书并不局限于介绍Swift的简单语法,而是从“项目驱动”的角度来讲授理论,全书为Swift所有语法提供了大量的示例程序,大部分地方甚至从正、反两方面举例,务求使读者能举一反三地真正掌握Swift编程。如果读者在阅读本书时遇到了技术问题,可以登录疯狂Java联盟(http://www.crazyit.org)发帖,笔者将会及时予以解答。
前 言
Swift正逐步占领iOS App实际开发的市场份额,Swift 的简洁、易用性已经吸引了大量开发者,大家已开始或准备开始使用Swift开发iOS App。Apple在WWDC2015上再次发布了Swift 2.0版本,既向开发者宣示了Apple对Swift的支持决心,也进一步增强了Swift的功能,使得Swift真正成为一门强大的开发语言。
Swift的最大特点是简洁,它从JavaScript、Go等现代语言中学习了不少内容,从而让Swift具有非常简洁的编程体验,十分接近程序员的习惯。而且Swift能很好地兼容Objective-C已有的框架和库,因此Swift与Objective-C完全可以进行混合编程。此外,Swift语言还有已经十分成熟的Cocoa、Cocoa Touch框架的支持,更加可靠!
需要说明的是,Swift虽然提供了简洁的语法,但Swift的功能并不简单,绝对是一门具有工业品质的强大语言。Swift既支持函数式的编程方式,也支持面向对象的编程方式。Swift的函数式编程方式完全支持主流的函数和闭包,传参方式既支持值传递方式,也支持引用传递方式,还支持多返回值的函数,语法功能非常丰富;在面向对象的支持方面,Swift完全支持面向对象的封装、继承、多态等基本功能,而且Swift提供了枚举、结构体和类三种面向对象的类型,这三种类型都可创建实例、调用方法,而且都允许定义属性、方法、构造器、下标和嵌套类型,语法功能非常丰富。如果真正全面掌握了Swift的所有功能,就会发现Swift虽然是一门简洁的编程语言,但它也是一门功能非常强大的语言。
本书是《疯狂Swift讲义》的第2版,真正基于OS X 10.11平台,采用Xcode 7.1作为开发工具。Swift 2.x与Swift 1.x相比变化非常大:简单的改变如抛弃了原有的println输出函数,改为使用print输出函数,String不再遵守CollectionType协议等;重大的更新包括repeat while循环、guard语句、API检查、条件编译、Set集合、错误处理机制、协议扩展等内容。这些内容都是本书重点介绍的知识。
最后本书提醒读者,Swift虽然是一门简洁、优雅的编程语言,但它绝非一门简单的toy语言。因此希望广大开发者在开始学习Swift之前做好心理准备:Swift是一门功能强大的工业语言,因此它的语法功能非常丰富。本书作为“疯狂体系”Swift学习图书,当然不是仅提供浅尝辄止的入门语法,而是真正全面、细致地介绍了Swift语言的各种功能,100%完整覆盖了Apple官方的“The Swift Programming Language”编程指南,而且大部分语法功能都从正反两面举例,务求让读者能举一反三地真正掌握Swift编程。
本书有什么特点
正如前面所介绍的,本书并不是一本简单的Swift入门教材,而是一本全面而完整的Swift编程手册,不仅100%完整覆盖了Apple官方的“The Swift Programming Language”编程指南,而且示例更加丰富,行文更加通俗易懂,更符合中国人的学习习惯。这一点,一直都是“疯狂体系”图书的风格。
本书内容大致可分为4部分:
? 第1部分:由第1章组成,这部分简要介绍了Swift语言的相关背景,主要介绍了如何搭建Swift的开发环境,包括Playground的功能和用法,重点介绍了如何在终端窗口编译、运行Swift程序。
? 第2部分:由第2~ 6章组成,主要介绍了Swift的基础语法和函数式编程支持,也介绍了Swift的String、Array、Set、Dictionary等内置类型。
? 第3部分:由第7~11章组成,主要介绍了Swift的面向对象编程支持,并介绍了使用Swift调用Foundation框架的常用类。
? 第4部分:由第12~14章组成,主要介绍了如何使用Swift开发iOS应用,详细介绍了iOS项目的结构,并归纳了iOS应用的MVC设计,在代码中获取UI控件的两种方式(必须先获取UI控件,然后即可修改它来更新用户界面),iOS应用事件处理的三种方式。通过这种方式可以让读者快速掌握iOS编程的思路。第14章还介绍了一个iOS游戏:俄罗斯方块。
本书不是一本看完之后可以“吹嘘、炫耀”的书——因为本书并没有堆砌一堆“深奥”的新名词、一堆“高深”的思想;本书保持了“疯狂体系”的一贯风格:操作步骤详细、编程思路清晰、语言平实。只要读者想学习Swift编程,just do it——Swift虽不像网络流传的那么简单,但只要认真阅读此书,并准备动手“敲代码”,完全可以真正掌握它。无须担心没有编程基础(本书从最基础的定义变量开始讲起),也无须担心没有Apple电脑(网络上使用普通电脑装黑苹果的文章铺天盖地)——只要你有决心和毅力,就可以真正掌握Swift编程,进而掌握iOS应用开发。
不管怎样,只要读者在阅读本书时遇到知识上的问题,都可以登录疯狂Java联盟(http://www.crazyit.org)与广大学习者交流,笔者也会通过该平台与大家一起交流、学习。
本书还具有如下三个特点。
1.版本成熟,语法稳定
本书并非基于Swift测试版写成,而是以OS X 10.11为平台,基于Xcode 7.1开发工具,采用稳定的Swift 2.1正式版写成,因此读者阅读此书时极少会发现书中知识已经过时或被抛弃的情形。
2.知识全面,覆盖面广
本书不像某些入门级的小册子看上去那么简单,本书全面而细致地介绍了Swift编程的各种语法,不仅100%完整覆盖Apple官方的“The Swift Programming Language”编程指南,而且示例更加丰富。
3.注释详细,轻松上手
为了降低读者阅读的难度,书中代码的注释非常详细,几乎每两行代码就有一行注释。不仅如此,本书甚至还把一些简单理论作为注释穿插到代码中,力求让读者能轻松上手。
本书所有程序中的关键代码均以粗体字标出,也是为了帮助读者能迅速找到这些程序的关键点。
本书程序清单请见www.broadview.com.cn/28076。
本书写给谁看
本书为所有打算深入掌握Swift编程的读者而编写,适合各个层次的Swift学习者和开发者阅读,也适合作为大学教育、培训机构的Swift教材。
2015年12月27日