赵走x博客
网站访问量:151489
首页
书籍
软件
工具
古诗词
搜索
登录
7、数学运算符
6、字符串
5、类型
4、常量
3、声明的威力
2、开始探索 Swift
1、Swift简介
1、Swift简介
资源编号:76613
Switch基础教程第二版
书籍
热度:90
欢迎来到Swift这个美丽的新世界。Swift是在2014年苹果全球开发者大会上推出的,仅仅一 年后,它就成了一门功能强大的新编程语言。由于苹果的倡导和开发人员的积极响应,Swift被广 泛采纳,成了开发iOS、watchOS和Mac应用程序的主流语言。Swift不但功能强大,还简单易学, 你在不知不觉间就能编写出简单应用。 Swift提供了一些编写代码的新方式,比功能强大而著名的前身Objective-C容易理解得多。 Swift向开发人员提供了全新而有趣的方式表达,其功能学习起来也很有趣。 Swift作为计算机语言虽已推出一年之久,但依然是一门新语言,苹果公司很可能对其进行 修改和增补。从未有一种计算机语言像Swift这样,在即将修改和修订前能获得如此高的曝光度 和采纳度,这都要归功于Swift的创新带来的刺激。 # 1.1 革命性的改良 语言是分享、交流和传达信息的工具,人类通过它向朋友、家人和同事表达自己的意图。与 计算机系统交流也需要通过计算机语言。 与人类的语言一样,计算机语言也非新鲜事物,事实上,它们以这样或那样的形式存在了很 多年。计算机语言的目的始终是让人类能够与计算机交流,命令它执行特定的操作。 不断发展变化的是计算机语言本身。早期的计算机开拓者意识到,以0和1的方式向计算机发 指令既繁琐又容易出错。一路上人们始终在不断努力,旨在在语言语法的丰富性和处理与解读它 所需的计算能力之间寻求平衡,最终诸如C和C++语言在争夺现代计算机应用程序通用语言之战 中取得了胜利。 在C和C++被广泛接受,得以用于主要的计算平台的同时,苹果携Objective-C给这场盛宴带 来了清新之风。 Objective-C是一款建立在C语言基础之上的面向对象语言。 苹果生态系统由 Macintosh计算机和iOS设备构成,在为该生态系统开发应用程序中,Objective-C多年来始终发挥 着中流砥柱的作用。 Objective-C虽然功能强大而优雅,但也存在着其前身——C语言遗留下来的包袱。对于熟悉 C语言的人来说,这根本就不是什么问题,但近年来大量新开发人员进入Mac和iOS平台,他们渴 望更容易理解和使用的新语言。 为满足这种需求,并降低进入门槛,苹果公司推出了Swift。使用它编写应用程序容易得多, 向应用程序发出指令也更加简便。 # 1.2 准备工作 你可能会问,要学习Swift需要满足哪些条件呢?实际上,开始阅读本书就迈出了学习Swift 的第一步。学习新的计算机语言可能令人望而却步,这正是笔者为Swift初学者编写本书的原因所 在。如果你是Swift新手,本书正是为你编写的;如果你从未使用过C、C++和Objective-C,本书 也适合你阅读。即便你是经验丰富的开发人员,熟悉前面提及的各种语言,本书也可帮助你快速 掌握Swift。 虽然并非绝对必要,但熟悉或大致了解其他编程语言对阅读本书很有帮助。本书不介绍如何 编程,也不提供有关软件开发的基本知识,而假定你对计算机语言的基本概念有一定认识,因此 你必须对计算机语言有所了解。 虽然如此,本书将向你提供尽可能多的帮助:详尽地解释新引入的术语,并对概念做尽可能 清晰的阐述。 ### 1.2.1 专业工具 至此,你做好了学习Swift的心理准备。这很好!但首先得将学习用品准备妥当。回想一下上 小学时的情形吧,开学前父母都会收到所需学习用品清单:笔记本、剪刀、美术纸、胶水、2号 铅笔等。当然,阅读本书不需要这些东西,但要学习Swift,必须有合适的专业工具。 首先, 强烈建议你以交互方式运行本书列出的代码。 为此, 需要一台运行OS X 10.10 (Yosemite)或OS X 10.11(El Capitan)的Macintosh计算机;还需要Xcode 7,它提供了Swift编译 器和配套环境。最重要的是,你需要加入苹果开发者计划,这样才能充分利用El Capitan和Xcode 7。如果你还未加入苹果开发者计划,可访问https://developer.apple.com/programs,其中提供了有 关如何加入该计划的完整信息。 将Xcode 7下载并安装到Mac计算机后,便可以开始学习Swift了。 ### 1.2.2 与 Swift 交互 首先,我们将通过一个有趣的交互式环境——REPL,来探索Swift。REPL是Read-Eval-PrintLoop(读取执行输出循环)的首字母缩写,这指出了这个工具的特征:它读取指令、执行指 令、输出结果,再重新开始。 事实上,这种交互性是Swift有别于C和Objective-C等众多编译型语言的特点之一。如果你使 用过Ruby或Python等提供了REPL环境的脚本语言,就知道这并非什么新东西,但对编译型语言 来说,这种理念还是很新颖的。只要问问C、C++或Objective-C开发人员就知道,他们很多时候 都希望能够直接运行代码,而不用创建包含调试语句的源代码文件,再编译、运行并查看结果。 Swift REPL的优点在于,它让上述重复而漫长的工作流程一去不复返了。 这种交互性带来的另一大好处是,它让学习新语言这种原本艰难的任务变得容易多了。你不 用再学习一系列复杂的编译工具,也无需了解集成开发环境的细枝末节,只需将全部精力都放在 新语言本身上。事实上,本书前半部分将探索、测试、细究Swift的方方面面,你将很快发现,以 这种交互方式学习能够更快地理解Swift语言本身。 不需要运行阶段环境就能实时运行代码,一开始这可能让人感觉怪怪的,但很快你就会喜欢 它提供的即时结果。事实上,REPL会让有些人想起以前的岁月:在家用计算机革命的早期,BASIC 等解释型语言就提供了这种交互性。真是从终点又回到了起点。 # 1.3 准备出发 已下载了Xcode 7?这很好,但请暂时将它抛在脑后吧。事实上,我鼓励你去探索Xcode 7及 其新特性,但接下来的几章将把注意力完全放在Terminal ① 中的REPL上。 如果你以前没有运行过Terminal应用程序, 也不用担心。 在Mac计算机中, 它位于文件夹 Applications/Utilities下。要运行它,最简单的方式是单击图标Spotlight,再输入Terminal,如图1-1 所示。  图1-1:使用Spotlight来查找应用程序Terminal 另一种方法是,单击Dock中的Finder图标,再选择菜单Go>Utilities ② ,如图1-2所示。  图1-2:Finder菜单栏中的Go菜单 —————————— >① 在简体中文版Mac操作系统中被称为“终端”,故本书有时也会用终端来代指它。——编者注 ② 在简体中文版Mac操作系统中被称为“实用工具”。——编者注 这将打开一个新的Finder窗口,其中显示了文件夹Utilities的内容,如图1-3所示。要找到应用 程序Terminal,可能需要向下滚动。双击Terminal图标启动这个应用程序。  图1-3:在Finder中查找Terminal 启动Terminal后,将看到类似于图1-4所示的窗口。在你的Terminal窗口中,文本和背景色可 能与这里显示的不同。  图1-4:Terminal窗口 至此,差不多为探索Swift做好了准备,但在此之前,还需要在这个新打开的Terminal窗口中 执行几个命令。 首先,输入下面的命令并按回车: ```swift sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/ ``` 系统将提示你输入管理员密码。按要求输入即可。必须执行这个命令,它是用来确保Xcode 7是Mac计算机运行的Xcode默认版本,以防止你安装的是以前的Xcode版本。好消息是,你只需执 行一次这个命令。它指定的设置将被保存,除非你要切换到其他Xcode版本,否则不用再执行这 个命令。 输入下面的命令并按回车以进入Swift REPL: ``` xcrun swift ``` 根据你以前使用Xcode的情况,可能出现类似于图1-5所示的对话框,要求你输入密码。如果 出现该对话框,输入密码即可。  图1-5:输入用户名和密码 很快就会出现下面的问候消息: ``` Welcome to Apple Swift version 2.0. Type :help for assistance. 1> ``` 祝贺你走到了这一步。下面开始探索之旅。