前言

前言

欢迎阅读本书!Swift是苹果公司新推出的用于开发iOS和Mac OS X应用程序的语言,注定将成为移动和桌面领域首屈一指的计算机语言。作为一门新的计算机语言,Swift犹如闪闪发亮的新车般充满诱惑:谁都想凑近瞧一瞧,踢踢它的轮胎,开着它去兜风。这可能就是你阅读本书的原因:你听说过Swift,并决定一探究竟。

Swift是一门易学易用的语言,这无疑是优点,相比于其前身Objective-C来说尤其如此,Objective-C虽然功能强大,但学习起来更难。长期以来,苹果公司一直将Objective-C作为其平台的软件开发语言,但随着Swift的面世,情况正在发生变化。

针对的读者

本书是为初学者编写的。鉴于Swift面世时间极短,从某种意义上说我们都是初学者。然而,对很多人来说,Swift是其学习的第一门或第二门语言,他们大多未接触过Objective-C以及C和C++等相关语言。

读者最好对计算机语言有一定认识和经验,但本书也适合有足够学习欲望的新手。经验较丰富的开发人员可能发现前几章属于复习材料,类似休闲读物,因为其中介绍的概念在众多计算机语言中都有,但对于初学者来说,这些概念必须介绍。

如何使用本书

与其他同类图书一样,本书也最适合从头到尾地按顺序阅读,因为后续章节要求你已经掌握之前介绍的知识。然而,几乎每章的示例代码都自成一体。

本书篇幅适中,既涵盖了丰富的内容,又不会让读者不堪重负。书中包含大量的屏幕截图,让初学者能够全面了解Swift和Xcode工具集。

你将如何学习

学习Swift的最佳方式是使用它,而本书包含大量的代码和示例,始终将使用Swift作为重点。

每章都包含基于其中的概念编写的代码。Swift提供了两种交互式环境,可供你用来测试概念以及加深对Swift本身的认识——REPL和游乐场(playground)。在本书的第二部分,你将创建两个简单而完备的应用程序:一个运行于Mac OS X系统下的贷款计算器和一个iOS记忆游戏;在最后一章,你将研究一个完整2D游戏的源代码,这个游戏使用了Apple的多种游戏开发技术。

对Swift概念的介绍贯穿本书始终,这包括类、函数、闭包等。建议你不要着急,慢慢地阅读每一章,并在必要时反复阅读,然后再进入下一章。

www.peachpit.com/swiftbeginners2提供了本书源代码,你可下载每章的源代码。直接下载代码可节省大量的输入时间,但我深信应手工输入,这样做可获得仅阅读本书并依赖于下载的代码无法获得的洞见和认识。请花点时间输入所有的代码示例。

为清晰起见,代码和类名语言结构使用了等宽字体。

  1> let candyJar = ["Peppermints", "Gooey Bears", "Happy Ranchers"]
candyJar: [String] = 3 values {
  [0] = "Peppermints"
  [1] = "Gooey Bears"
  [2] = "Happy Ranchers"
}
  2>

对于REPL显示的错误消息,使用了粗体。

  8> x = y
repl.swift:8:5: error: cannot assign a value of type 'Double' to a value of type 'Int'
x = y
    ^

  8>

“注意”提供了有关当前介绍的主题的额外信息。

注意 字典键并不一定是按字母顺序排列的,Swift总是采用可最大限度地提高检索和访问效率的顺序来排列它们。

你将学到哪些知识

本书的终极目标是,介绍如何使用Swift代码来表达思想。等阅读到本书最后一页时,你将对Swift的功能有深入认识,并具备开始编写应用程序所需的技能。本书第二部分提供了iOS和Mac OS X应用程序示例。

本书并非包罗万象的Swift编程语言综合指南,要全面了解Swift,苹果公司的官方文档是最佳的资源。本书的重点是Swift语言本身,但为帮助理解示例,简要地介绍了相关的Cocoa和CocoaTouch框架。

目录