基本信息
文件名称:2023Swift权威指南手册.docx
文件大小:1.35 MB
总页数:281 页
更新时间:2025-06-06
总字数:约17.65万字
文档摘要

Swift权威指南

第1章未来的iOS开发语言Swift语言介绍

第2章千里之行始于足下——Swift语言基础

第3章万丈高楼平地起——基本操作符

第4章此字典非彼字典——数组和字典

第5章千变万化的程序——控制流

第6章丰富多彩的功能——函数

第7章代码之美的诠释——闭包

第8章特殊的数据——枚举类型

第9章Swift语言的核心——类和结构体

第10章容易犯错的地方——类的继承

第11章内存管理机制——ARC

第12章让程序不抛出异常顺畅运行——可选链

第13章Swift语言的魔法——类型转换

第14章为程序增添无限动力——扩展

第15章开发大型程序必备元素——协议

第16章增强代码的灵活性——泛型

第17章私人定制——高级操作符

第18章做未来的iOS程序员——Swift开发iOS应用技术

第19章开启游戏开发之旅——SpriteKit游戏引擎

第20章综合应用实战——Flappybird游戏开发

第1章未来的iOS开发语言Swift语言介绍

苹果(Apple)公司最近动作还是比较多的,除了即将推出的iWatch等新硬件产品外,还推出了一种新的编程语言Swift。可能初次接触苹果软件开发的程序员对Swift还很陌生,当然,这也不奇怪,因为在写这本书时,Swift才刚刚推出。不过,由于Swift出身贵族,这也注定了Swift将拥有一个美好的未来,很可能成为苹果软件开发体系的中坚力量。既然Swift如此重要,作为求知欲极强的程序员们怎能放过这么一个成为国内,不!应该说世界上首批Swift专家的机会呢!现在就让我们开启Swift语言的开发之旅吧!

本章要点

Swift语言简介

Swift开发环境搭建

创建Swift工程

编写一段简单的Swift语言代码

所见即所得的Playground

Swift语言的前世今生

在2014年的苹果WWDC大会上,最大的亮点当属Swift的出现了。因为苹果一贯以硬件为主,这次突然弄出了软件,而且还是生产软件的软件:Swift语言。自然会引起各方的广泛关注。国内外在24小时内推出了大量关于Swift语言的学习资料,甚至视频[1]。我就从来没看过一种新技术被如此关注过,因为当年我赶上了微软C#的首发、还有Google的Go语言首发,关注度都没有Swift语言高,看来业界对这个一直玩硬件的苹果突然推出一种新编程语言还是很看好的。这么说当然是有证据的,就在Swift语言刚推出不到一个月的时间里,已经排到了编程语言的第16位,这在以前从未发生过。

既然说到Swift语言,那么就必须要提一下Swift的发明者ChrisLattner(可以叫他克里斯),Chris博士毕业,是一个全面发展的好学生。

据说Chris最喜欢看的IT著作是龙书[2],还喜欢在旅游时带这本书。别人旅游时都看小说或看Video,这家伙却看编译原理的书,的确高大上。高手就是与别人不一样(就在写这本书时,我已经将龙、虎、鲸3本书的英文电子版放到平板电脑里了,准备旅游时看)。

下面主要来谈谈Chris的光荣事迹。Chris在硕士毕业时提出了一套完整的运行时编译思想,奠定了LLVM[3]的发展基础。在博士期间继续领导LLVM编译框架向前发展,并取得了长足的进步。LLVM已经可以基于GCC前端编译器的语义分析结果进行编译优化和代码生成,所以,Chris在2005年毕业时已经是业界知名的编译器专家了。

苹果在2005年雇佣了Chris。Chris在苹果的几年中不仅大幅度优化和改进LLVM以适应

Objective-C的语法变革和性能要求,同时发起了CLang项目,旨在全面替换GCC,现在这

个目标已经实现了。从OSX10.9和XCode5开始,LLVM+GCC已经被替换成了LLVM+CLang。

在2010年,Chris接到了一个不同寻常的任务,就是为iOS和OSX平台开发下一代的编程语言,这就是现在看到的Swift。最初Swift完全是由Chris开发的。只是在一年后(2011

年),才陆续有若干编译器专家加入了Swift团队。终于在4年后的2014年,Swift的第一个版本在苹果的2014年WWDC大会上向我们展示了她的魅力。

Swift到底是怎样的一种语言

Swift是一门博采众长的现代语言,在设计的过程中,Chris参考了Objective-C、Rust、Haskell、Ruby、Python、C#等优秀语言的特点,最终形成了目前Swift的语法特性。这也是为什么使用各种语言的程序员都能从Swift中找到自己熟悉的影子的原因。那么,Swift语言到底是一种怎样的语言。可以从下面几方面初