- Swift从入门到精通 (移动开发丛书)
- 张益珲
- 2274字
- 2020-11-28 18:05:10
前言
当一本书出现在读者手中的时候,我想读者最关心的莫过于两个问题:这本书的主要内容是什么与我能从这本书中收获到什么。本书是一本学习Swift编程语言的书,也是一本学习iOS开发技能的书。我希望,任何读者,无论有编程基础或者无编程基础,只要对编程感兴趣,热爱软件开发这个行业,都可以通过本书达到自己的技能目标。
Swift 3带来的新变化
Swift语言是Apple公司于2014年在WWDC(苹果开发者大会)上发布的一门新的语言,相较与目前macOS/iOS系统软件开发主流的Objective-C语言而言,Swift语言显得十分年轻。如果说一门编程语言年轻,那往往有着两层含义,一层说明此语言更加先进,其设计包含了现代编程语言所需要的特性。另一层是说此语言在很长一段时间内,可能都不会稳定,要经过多个版本的实践与迭代,才能稳定成型。Swift就是这样的一门语言,从2014年发布至今,已经经历了Swift 1.0版本、Swift 1.1版本、Swift 1.2版本、Swift 2.0版本、Swift 2.1版本、Swift 2.2版本、Swift 3.0版本与如今的Swift 3.0.1版本。下表列出了Swift语言的迭代记录:
从上表可以看出,Swift语言的版本迭代速度十分之快,从语言的特性变化来看,Swift 3.0语言是一个分界点,之前版本在开发macOS/iOS应用时,采用的依然是Objective-C风格的API,在Swift 3.0版本中所有开发API做了颠覆性的更改,设计的更加切合Swift语言自身的特点。如果读者担心Swift语言的学习成本高,变化快,我个人认为,从Swift 3.0之后,读者可以放心地进行Swift语言的全面学习。首先Swift语言十分简洁,学习并不困难;其次,Swfit 3.0以及Swift 3.0.1的发布,代表Swift语言进入了一个相对稳定的时期。
Swift 3.0语言比之前版本一个很显著的变化是简化了macOS/iOS开发API,使之更加切合Swift语言的特性,比如,之前字符串搜索函数如下:
var range = string.rangeOfString("Hello")
在Swift 3版本中,函数被修改成如下形式:
var range = string.range(of: "Hello")
此类对开发API进行简化的更改几乎涵盖了所有API,对于有OS/iOS开发经验的读者来说,可能会觉得不习惯,使用习惯之后,你就会爱上这种更加简洁的编程风格。
随着Swift语言的更新,其对运算符和流程控制语句也做了大刀阔斧的修改,关于++和--运算符,学习过C语言的读者一定还记得当时的痛苦,类似a++和++a这样的问题,总是给初学者带来很大的迷惑,在Swift 3语言中,++运算符和--运算符已经被移除,并且将for(; ; )循环结构也进行了移除,只留下了更加高效的for-in循环结构,这些修改大大减小了学习语言的门槛并且降低了初学者出错的概率。
本书的内容特点
截止到本书截稿,Swift 3语言最新的版本为3.0.1。本书使用的Swift语言版本也是3.0.1版本。
本书分为3大部分,第一部分将为读者介绍Swift语言的语法,这也是本书后面部分的基础。
第一部分分为11章,每1章为读者介绍Swift语言的一些基础语法点,包括数据类型、流程控制语句、运算符、函数与闭包、枚举、结构体、类、属性与方法、对象构造与析构、内存管理、异常处理、扩展与协议等。这11章内容将竭力为读者全面介绍Swift语言的语法特点与应用场景,并且每一章后面都附带有习题供读者对本章所学知识进行测试与应用。
本书的第二部分为iOS开发基础部分,目前Swift语言应用的主要场景在macOS/iOS应用的开发。这部分内容将系统地向读者介绍iOS开发技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术等。掌握了这些技能,理论上讲读者已经具备了独立开发一款iOS应用程序的能力。
本书的第三部分为实战部分,学习编程,实战是必经的一关。本书为读者安排了3个实战项目,项目的安排有简入难,并且各个项目的侧重点分布均匀,力图全面锻炼读者的实际开发能力。
本书适合的读者
本书是一本从基础到实战全面的Swift编程语言学习教程。如果你符合下面的特点,那么本书就是为你定制的:
(1)对iOS系统软件开发感兴趣,想要从事iOS软件开发行业。
(2)对编程感兴趣,对Swift编程语言感兴趣。
(3)熟悉Objective-C语言,想要尝试Swift语言的开发者。
如何学习本书
编程是一门动手性很强的技能,因此在学习本书时,读者首先需要搭建好自己的开发环境(本书第1章有介绍)。在学习书中内容时要对照书中代码进行实际操作,并且本书的配套资源中也有书中所引用的全部代码,读者在学习时,也可以进行参考对照。如果读者没有良好的Swift语言基础,在学习本书时,请务必根据章节的顺序安排进行学习,只有有了良好的语言基础,再学习后面章节的时候才能得心应手。
本书的配套资源
笔者所录制的Objective-C版本的iOS界面开发视频也随本书配套赠送,有兴趣的读者可以自行下载学习。
下载地址:
基础篇链接https://pan.baidu.com/s/1cqTmRs密码idku
进阶篇链接https://pan.baidu.com/s/1dEKtgxr密码8qku
读者也可以通过以下网址下载本书的源代码:
http://pan.baidu.com/s/1c5ZNHW
除上面提供的资源外,在51CTO学院上还有一套与本书内容完全匹配的教学视频,有需要的读者可以酌情购买:http://edu.51cto.com/course/course id-6289.html。
iOS技术交流群:203317592。
如果你下载本书资源时遇到问题,请发邮件至:booksaga@126.com获得帮助。邮件标题请注明:“获取Swift从入门到精通配书资源”。
致谢
从Swift 3.0语言发布前夕开始准备,到Swift 3.0.1发布后的后期纠正,将近10个月的努力,终于使本书如期送达读者的面前。这之间彻夜的校对资料、编写教案、分析案例的场景还历历在目,之中除了汗水与艰辛之外,更多的是在付出过程中获取的喜悦与成就感。如果你读者通过本书,达到了自己既定的学习目标;找到了自己心仪的工作;掌握了自己热爱的开发技能;这对我来说都将是一种莫大的鼓励,这也将是我作为编者最大的幸福。
本书能够顺利完成,首先要感谢家人对我写作的支持,感谢朋友们的无私帮助,他们的鼓励与支持,为我提供了继续的动力。最后,还有两个人对本书的完成十分重要,他们是清华大学出版社的王金柱编辑与UU跑腿iOS开发工程师吕远,王金柱编辑在我的写作过程中进行了悉心的指导,并提出了很多指导性的建议。吕远完成了本书19章内容的校队与补充。没有这两位的辛勤付出,本书也无法出现在读者的手上,我在此向他们表达衷心的感谢!
编者 珲少
2017年1月3日