译者序

在2016年美国旧金山召开的WWDC(Worldwide Developers Conference,苹果全球开发者大会)上,苹果公司发布了全新的桌面操作系统macOS Sierra和移动操作系统iOS 10。iOS 10改变了以往的使用习惯,提升了用户体验,沿用了扁平化界面设计风格并增强了系统的稳定性,在功能上进行了诸多改进与优化。此外,iOS 10系统还开放了更多的API接口,以增强未来应用程序的功能并减少开发人员的工作量。

在此次开发者大会中,苹果公司推出了Swift 3的预览版本。之后在秋季发布会Swift 3正式版与Xcode 8一同面世,与之一同发布的还有iPhone 7和iPhone 7 Plus。Swift是苹果公司于2014年发布的全新开发语言,以逐步替代Objective-C。在此之前,苹果平台推荐的开发语言一直是Objective-C。它是基于C语言的扩展,由苹果公司负责维护的面向对象语言,出现时间比C++还要早。随着OS X系统与iOS平台的不断发展,之后越来越多的移动开发者开始学习这门语言,因而其市场份额不断增大,排名也一度超越C++、C#、JavaScript等主流语言。在2011年与2012年,Objective-C凭借快速上升的使用率连续两次赢得了TIOBE的年度编程语言大奖。

如今苹果公司又推出了Swift语言,逐步取代Objective-C,必然有其重大意义。尽管Objective-C是一种非常神奇的语言,甚至比互联网的年龄还要长,不过这个已为苹果贡献多时的编程语言,想要上手却并不容易,对新程序员来说更是如此。初学者难以掌握它的主要原因在于,Objective-C的语法风格独特,看起来和其他的C系语言大相径庭。

为了方便在苹果平台上的学习,降低开发应用的负担,苹果公司推出了全新的Swift语言。Swift语言的主要目标是简单易学、便捷高效,其执行速度比Python和Objective-C程序更快。Swift还与Xcode 8的Playground功能配合,可以像脚本语言一样,具有实时预览功能。开发者在输入代码后,右边屏幕会实时显示代码效果。此外,开发者还可以看到应用程序运行过程中的代码效果,从而使测试过程更加方便。

Swift语言一经推出,便立刻引起了全世界开发者的关注,流行程度与使用数量一直稳步上升。Swift汲取了许多语言的特点并加以改进。对于编程老手来说,适应这种新的语言非常容易;而对于新人来说,Swift的风格更加友好。开发者问答网站Stack Overflow的调查结果显示,苹果公司的Swift语言以极大的优势成为了最受开发者欢迎的编程语言。

苹果公司对于Swift语言的未来发展仍有很高的期待。仅仅一年之后,在2015年的WWDC上,苹果公司不仅发布了升级版的Swift 2,还宣布将Swift语言开源,以接纳开源社区中更多开发者的建议,共同对其进行语法上的完善和效率上的提升。苹果公司向广大开发者伸出了橄榄枝,这一重要举措引起了业界的一致好评。它意味着开发者将更容易掌握这门强大的编程语言,并且拓展了更广泛的实用方向。Swift还有很多发展的空间,在苹果公司与开源社区的共同努力下,Swift将会为开发者提供一种全新的体验。在未来,将会有更多的人去接受这一语言,全球开发者也将会越来越重视苹果平台上的应用开发。

这一次开发者大会,苹果公司还发布了iPad版的Swift Playground学习应用。Swift Playground针对的不仅是开发从业人员,也包括对编程感兴趣的青少年。晦涩枯燥的开发语言编码过程将以游戏娱乐的方式展现,用户在解决任务通过关卡的同时,也不知不觉地学习了开发程序的基础知识,以及如何制作一个完整的应用。这种方式能让青少年在游戏中体会编程的乐趣。在本书出版时,Swift Playground已经支持中文,国内无论是程序员还是编程爱好者——甚至小朋友——都能够毫无障碍地接触这种寓教于乐、老少咸宜的编程学习方式。

本书中的内容讲解和示例代码采用了Swift 3.0语言,部分代码中会引用到Objective-C框架的功能。我们都会对此详细讲解。如果读者刚刚开始了解Swift语言,可以同时阅读图灵社区出版的其他Swift开发图书以快速入门。而已经掌握了Swift的开发人员,在阅读过程中可以很快重新熟悉新版的Swift 3。通过书中层层递进的讲解,以及富有代表性的示例应用,读者能够逐步掌握iOS的软件开发。Swift将能够帮助你开发出优秀的iOS应用程序。

本书的原作者是经验极为丰富的开发人员,在国外这本已经是iOS与Swift系列书籍的第3版。这一系列的书籍在国内外的销量一直长盛不衰,有越来越多的程序员依靠其步入了iOS开发的殿堂。当前这一版的内容极为丰富,全面涵盖了iOS系统的许多功能,并进行了深入的探索。如此庞大厚重的一本书堪称iOS开发学习的圣经。这本书适用于所有对iOS应用设计感兴趣的人,无论你拥有多年的开发经验还是第一次学习编程,都可以藉由此书领略到iOS的魅力。希望你能够通过本书的学习,开启通往熟练驾驭iOS应用设计的旅程。

在翻译本书的过程中遇到了许多困难,在此要感谢所有给予过我帮助的人。感谢我的家人给予我精神上的支持,感谢那些替我分担了压力的朋友,还有工作上的伙伴,尤其感谢我的同事Simon用他丰富的英语经验帮助我解决了很多难题。也要感谢图灵公司参与了本书编辑与校对等工作的每个人,正是由于你们的努力才能保证它的质量。尽管如此,书中依然难免有疏漏之处,希望读者能够包涵并向我们提出宝贵的建议,也希望你们的应用能够早日登上App Store。

目录

  • 致谢
  • 译者序
  • 第1章 欢迎来到iOS和Swift世界
  • 第2章 创建第一个App
  • 第3章 基本的用户交互
  • 第4章 更丰富的用户界面
  • 第5章 自动旋转
  • 第6章 创建多视图应用
  • 第7章 分页栏与选取器
  • 第8章 表视图简介
  • 第9章 表视图中的导航控制器
  • 第10章 集合视图
  • 第11章 iPad应用中的分割视图和浮动窗口
  • 第12章 应用设置和用户默认设置
  • 第13章 数据持久化基础知识
  • 第14章 文档和iCloud
  • 第15章 用Grand Central Dispatch进行多线程编程
  • 第16章 图形与绘制
  • 第17章 SpriteKit制作简单游戏
  • 第18章 轻点、触摸和手势
  • 第19章 确定位置
  • 第20章 设备方向与动作
  • 第21章 摄像头和照片图库
  • 第22章 本地化翻译应用