译者序

在2014年的WWDC(WorldWide Developers Conference,苹果全球开发者大会)上,苹果公司发布了新的OS X操作系统Yosemite和移动操作系统iOS 8。iOS 8系统是iOS 7的升级版,延续了扁平化界面设计风格并增强了系统的稳定性。此外,iOS 8系统还开放了更多的API接口,以增强未来应用程序的功能并减少开发人员的工作量。

在此次开发者大会中,还有一件尤为引人注目的事情:苹果推出了全新的开发语言Swift,它可以与Objective-C共同运行于OS X和iOS平台,用于搭建基于苹果平台的应用程序。

在此之前,苹果平台推荐的开发语言一直是Objective-C。它是基于C语言的扩展,由苹果公司负责维护的面向对象语言,出现时间比C++还要早。随着OS X系统与iOS平台的不断发展,之后越来越多的移动开发者开始学习这门语言,因而其市场份额不断增大,排名也一度超越C++、C#、Javascript等主流语言。在2011年与2012年,Objective-C凭借快速上升的使用率连续两次赢得了TIOBE的年度编程语言大奖。

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

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

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

然而苹果公司对于Swift语言的未来发展仍有很高的期待。仅仅一年之后,在2015年的WWDC上,苹果公司又给了所有人一个惊喜:发布升级版的Swift 2,并宣布Swift语言开源,同时兼容iOS、OS X和Linux操作系统。苹果公司向广大开发者伸出了橄榄枝,这一重要举措引起了业界的一致好评。它意味着开发者将更容易掌握这门强大的编程语言,并且拓展了更广泛的实用方向。在未来,将会有更多的人去接受这一语言,全球开发者也将会越来越重视苹果平台上的应用开发。

本书中的内容讲解和示例代码同时提供了Objective-C和Swift语言两种版本 ,并针对各自的不同进行了详细的解释,其价值远胜于同时阅读两本书。读者可以根据自身情况并比较两种语言的特点,选择更加擅长的方向。通过书中层层递进的讲解,通过一个个富有代表性的示例应用,读者能够逐步掌握iOS的软件开发。无论你倾向于经典成熟的Objective-C还是灵巧轻便的Swift,它们都将能够帮助你开发出同样优秀的iOS应用程序。

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

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

周庆成

目录

  • 版权声明
  • 译者序
  • 第1章 欢迎来到iOS 和Swift 世界
  • 第2章 创建第一个项目 
  • 第3章 实现基本交互
  • 第4章 更丰富的用户界面
  • 第5章 自动旋转和自动调整大小
  • 第6章 多视图应用 
  • 第7章 分页栏与选取器
  • 第8章 表视图简介
  • 第9章 导航控制器和表视图
  • 第10章 集合视图
  • 第11章 分割视图和浮动窗口
  • 第12章 应用设置和用户默认设置
  • 第13章 数据持久化基础知识
  • 第14章 文档和iCloud
  • 第15章 Grand Central Dispatch和后台处理
  • 第16章 使用Core Graphics绘图 
  • 第17章 Sprite Kit游戏框架 
  • 第18章 轻点、触摸和手势
  • 第19章 Core Location和Map Kit
  • 第20章 陀螺仪和加速计
  • 第21章 摄像头和照片库
  • 第22章 应用本地化
  • 附录 Swift简介