前言
自2014年Apple在全球开发者大会上发布了Swift编程语言,至今已经经历了5个大版本的迭代,随着Swift语言的更新与完善,开发者对其的热情也越来越高,越来越多的公司在开发iOS软件项目时都将Swift作为最先选择的编程语言。
从第一版Swift语言的发布开始,我就一直对这门新兴的编程语言有着浓厚的兴趣,几年前,当我第一次收到清华大学出版社王金柱编辑的邀请,建议写一本帮助新手入门Swift语言iOS开发的工具书时,忐忑的心情至今还记忆犹新。经过再三的考虑与矛盾,我最终决定接下这个任务。当然,不是我对自己的编程技能充满信心,只是觉得把学习过程中遇到的问题、走过的弯路、积累的经验整理成册提供给初学者是一件非常有意义的事情。后来经过半年多的努力,《Swift 3从入门到精通》顺利出版并且得到了不错的回应。尽管在写作的过程中充满了艰辛,但是看到自己的作品可以给读者带来切实的帮助,我也收获到了额外的喜悦与慰藉。后来,在各位读者的帮助下,我对书中出现的错误与不合理之处进行了多次纠正与优化,《Swift 4从入门到精通》得以与读者相见。
截至本书完稿,Swift编程语言已经更新到5.5版本,其间Swift语言改变了很多,也优化了很多,从1.0到3.0版本,Swfit语言经历了质的变化,从3.0到5.0版本,Swift语言也迎来了完善与稳定。Swift语言是少有的在短时间内大版本更迭的编程语言,这也体现了这门语言不拘一格、大胆创新的特点。本书在《Swift 4从入门到精通》的基础上,优化了部分过时的内容,新增了Swift 5.5的新特性与SwiftUI技术的内容,更重要的是,总结了《Swift 4从入门到精通》一书读者的反馈,本书中的内容更加面向应用,并且插入了大量的面试题,并做了试题解析与面试指导。
本书分为三大部分。
第一部(第1~12章)将为读者介绍Swift语言的一些基础语法点,包括数据类型、流程控制语句、运算符、函数与闭包、枚举、结构体、类、属性与方法、对象构造与析构、内存管理、异常处理、扩展与协议以及Swift语言的新特性等。这12章内容将竭力为读者介绍Swift语言的语法特点与应用场景,并且每一章后面都附带有习题,供读者对本章所学的知识进行测试与应用。
第二部分(第13~18章)为iOS开发基础部分,目前Swift语言应用的主要场景为iOS应用的开发。这部分内容将系统地向读者介绍iOS的开发技能,包括独立UI控件的应用、视图界面逻辑的开发、动画与布局技术、网络与数据处理技术等。掌握了这些技能,理论上读者已经具备独立开发一款iOS应用程序的能力。与《Swift 4从入门到精通》一书不同的是,本书中新增了SwiftUI章节,SwiftUI技术将使得软件的界面开发更加容易。
第三部分(第19~21章)为实战部分,学习编程,实战是必经的一关。本书为读者安排了3个实战项目,项目的安排由简入难,并且各个项目的侧重点分布均匀,力图全面锻炼读者的实际开发能力。
除了三大部分循序渐进的技能学习外,在每一章的最后都加入了练习题与模拟面试。练习题可以帮助读者更好地理解和掌握当前章节所学习的内容,模拟面试可以帮助读者增加实战经验,进而提高应用能力。
本书是一本从基础到实战的Swift编程语言学习教程。如果你符合下面的特点,那么本书就是为你定制的:
(1)对iOS系统软件开发感兴趣,想要从事iOS软件开发的人员。
(2)对编程感兴趣,对Swift编程语言感兴趣的人员。
(3)熟悉Objective-C语言,想要尝试Swift语言的开发者。
(4)需要进行面试指导的Swift求职者。
此外,本书还提供了全部源代码,以方便读者上机演练,读者扫描以下二维码即可下载:
如果你在下载过程中遇到问题,可发送邮件至booksaga@126.com获得帮助,邮件标题为“Swift 5从零到精通iOS开发训练营”。
编程是一门动手性很强的技能,因此在学习本书时,读者首先需要搭建好自己的开发环境(本书第1章有介绍)。在学习书中内容时要对照代码进行实际操作,并且本书的配套资源中也有书中所引用的全部代码,读者在学习时可以进行参考对照。如果读者没有良好的Swift语言基础,在学习本书时,请务必根据章节的顺序安排进行学习,只有有了良好的语言基础,学习后面章节的时候才能得心应手。
本书能够顺利完成,首先要感谢家人对我写作的支持,感谢朋友们的无私帮助。最重要的是感谢清华大学出版社的王金柱编辑,王金柱编辑耐心地纠正了我许多写作中的问题,并且给了我许多非常有价值的建议,指导我完成了本书的编写。没有他的辛勤付出,本书不会出现在读者的面前。最后,感谢所有读者,我们都是编程路途中的学习者,你们的努力和认可让我坚定不移地去做分享知识这件有意义的事,希望我们能够一起努力,一起前进!
编者
2021年6月27日