书刊介绍
《Swift权威指南》内容简介
《Swift权威指南》共分20章,专门介绍了Swift的基础语法及进行应用和游戏开发的技术。主要内容包括运算符、字符串、集合类、控制流、函数、枚举类型、类、结构体、属性、方法、下标、泛型、扩展、协议等内容,以及使用Swift语言开发iOS平台的应用和游戏。最后给出了一个Flappybird游戏综合案例,让读者了解使用Swift语言开发游戏的完整步骤。
《Swift权威指南》适合iOS程序员、Swift初学者学习用书,也可作为大专院校及培训学校的教学用书。
李宁,硕士,国内第一批Android实践者,畅销书作者。对Android应用与内核技术有深入研究,实战经验丰富。精通Java、C、C++等语言,专注于移动通信领域。曾领导和参与多个大型项目的研发。自从2005年进入写作领域以来,曾在IT168、《程序员》等媒体发表了100多篇技术文章,优秀代表作《Android权威指南》深受读者好评。作品目录
Swift权威指南
前言
第1章:未来的iOS开发语言Swift语言介绍
1.1、Swift语言的前世今生
1.2、Swift到底是怎样的一种语言
1.3、Swift开发环境搭建
1.4、创建Swift工程(OS
X和iOS平台)
1.5、瞧一瞧Swift到底长啥样
1.6、所见即所得的Playground
1.7、小结
第2章:千里之行始于足下——Swift语言基础
2.1、Swift语句和分号
2.2、变量和常量
2.2.1、定义和初始化
2.2.2、将变量和常量值插入字符串中
2.2.3、变量和常量的命名规则
2.2.4、为变量和常量指定数据类型
2.3、数据类型
2.3.1、整数类型
2.3.2、数制转换
2.3.3、浮点类型
2.3.4、数值的可读性
2.3.5、数值类型之间的转换
2.3.6、类型别名
2.3.7、布尔类型
2.4、字符和字符串
2.4.1、字符类型的常量和变量
2.4.2、字符串类型的常量和变量
2.4.3、枚举字符串中的所有字符
2.4.4、获取字符串中字符的Unicode编码
2.4.5、字符串和字符的连接
2.4.6、在字符串中包含特殊字符
2.4.7、字符串之间的比较
2.4.8、字符串的大小写转换
2.5、元组(tuples)类型
2.5.1、元组类型的定义
2.5.2、获取元组中的元素值
2.5.3、为元组中的元素命名
2.6、可选类型
2.7、注释
2.8、小结
第3章:万丈高楼平地起——基本操作符
3.1、操作符的种类
3.2、赋值操作符
3.3、数值操作符
3.3.1、四则运算操作符
3.3.2、整数求余
3.3.3、浮点数求余
3.3.4、自增和自减
3.3.5、一元负号和正号
3.4、复合赋值操作符
3.5、比较操作符
3.6、三元条件操作符
3.7、区间操作符
3.8、逻辑操作符
3.8.1、逻辑非
3.8.2、逻辑与
3.8.3、逻辑或
3.8.4、组合逻辑
3.8.5、使用圆括号指定优先级
3.9、小结
第4章:此字典非彼字典——数组和字典
4.1、数组(Array)
4.1.1、创建和初始化数组
4.1.2、创建空数组
4.1.3、创建固定长度的数组
4.1.4、数组的加法
4.1.5、获取和设置数组元素值
4.1.6、数组区间赋值
4.1.7、添加和删除数组元素
4.1.8、枚举数组中的所有元素
4.2、字典(Dictionary)
4.2.1、创建和初始化字典
4.2.2、创建空的字典
4.2.3、添加、修改和删除字典中的数据
4.2.4、获取字典中的值
4.2.5、将value转换为指定的类型值
4.2.6、枚举字典中的key和value
4.2.7、将keys和values转换为数组
4.3、小结
第5章:千变万化的程序——控制流
5.1、for循环
5.1.1、对区间操作符进行循环
5.1.2、枚举数组和字典中的元素
5.1.3、枚举字符串中的所有字符
5.1.4、条件增量for循环语句
5.2、while和do...while循环
5.2.1、while循环
5.2.2、do...while循环
5.3、条件语句(if和switch)
5.3.1、if条件语句
5.3.2、Switch条件语句的基本用法
5.3.3、fallthrough语句
5.3.4、使用区间操作符进行条件匹配
5.3.5、使用元组进行条件匹配
5.3.6、where子句
5.4、在控制流中使用的控制语句(continue和break)
5.5、可跳转的标签
5.6、小结
第6章:丰富多彩的功能——函数
6.1、函数的定义和调用
6.2、返回多值的函数
6.3、扩展参数
6.4、扩展参数和内部参数合二为一
6.5、默认参数值
6.6、可变参数
6.7、常量和变量参数
6.8、输入输出参数
6.9、函数类型
6.10、嵌套函数
6.11、小结
第7章:代码之美的诠释——闭包
7.1、闭包表达式
7.1.1、使用闭包表达式代替回调函数
7.1.2、省略参数类型
7.1.3、省略返回值类型
7.1.4、省略return语句
7.1.5、既然都一样,那就去掉一个
7.1.6、直接给跪了!连骨架都没了
7.2、尾随闭包
7.3、捕获值
7.4、闭包是引用类型
7.5、小结
第8章:特殊的数据——枚举类型
8.1、枚举类型的语法格式
8.2、匹配枚举成员
8.3、组合枚举成员
8.4、设置枚举成员的原始值
8.5、小结
第9章:Swift语言的核心——类和结构体
9.1、类和结构体基础
9.1.1、类和结构体的异同点
9.1.2、定义类和结构体
9.1.3、创建类和结构体实例
9.1.4、访问和设置类和结构体成员的值
9.1.5、值类型和引用类型
9.1.6、判断两个变量或常量引用了同一个类对象
9.2、属性
9.2.1、存储属性
9.2.2、惰性存储属性
9.2.3、可读写的计算属性
9.2.4、只读计算属性
9.2.5、属性观察器
9.2.6、静态属性
9.3、方法
9.3.1、实例方法
9.3.2、方法的局部参数名和外部参数名
9.3.3、为方法的第一个参数增加外部参数名
9.3.4、类型中的self
9.3.5、方法的变异(mutating)
9.3.6、类型方法
9.4、构造器
9.4.1、没有参数的构造器
9.4.2构造器重载
9.4.3、构造器的内部参数和外部参数
9.4.4、默认构造器
9.4.5、结构体的逐一成员构造器
9.5、析构器
9.6、为类和结构体增加下标(Subscript)操作
9.7、小结
第10章:容易犯错的地方——类的继承
10.1、如何继承一个父类
10.2、重写方法
10.3、重写属性
10.4、重写属性观察器
10.5、方法被重写
10.6、构造器在继承中的调用规则
10.6.1、构造器和便利构造器
10.6.2、指定构造器和便利构造器是如何继承的
10.6.3、为什么子类必须调用父类的构造器
10.7、小结
第11章:内存管理机制——ARC
11.1、ARC的工作原理
11.2、测试ARC在内存管理中所起到的作用
11.3、解决循环强引用问题
11.3.1、什么是循环强引用
11.3.2、弱引用
11.3.3、无主引用
11.4、闭包引起的循环强引用
11.5、小结
第12章:让程序不抛出异常顺畅运行——可选链
12.1、什么是可选链
12.2、使用可选链访问属性
12.3、使用可选链调用方法
12.4、使用可选链调用下标
12.5、多层连续使用可选链
12.6、对方法返回值执行可选链
12.7、小结
第13章:Swift
语言的魔法——类型转换
13.1、类型转换概述
13.2、类型检测
13.3、类型强行转换
13.4、AnyObject和Any的类型转换
13.4.1、AnyObject类型
13.4.2、Any类型
13.5、小结
第14章:为程序增添无限动力——扩展
14.1、什么是扩展
14.2、扩展语法
14.3、扩展计算型属性
14.4、扩展构造器
14.5、扩展方法
14.6、修改实例方法
14.7、扩展下标
14.8、扩展嵌套类型
14.9、小结
第15章:开发大型程序必备元素——协议
15.1、协议的语法
15.2、协议中的成员
15.2.1、属性
15.2.2、方法
15.2.3、突变方法
15.3、协议类型
15.4、委托(Delegate)
15.5、在扩展中添加成员
15.6、通过扩展补充协议声明
15.7、集合中的协议类型
15.8、继承协议
15.9、协议合成
15.10、校验协议的一致性
15.11、可选协议的约定
15.12、小结
第16章:增强代码的灵活性——泛型
16.1、泛型解决的问题
16.1.1、引出问题
16.1.2、泛型函数
16.2、类型参数
16.3、泛型类型
16.4、扩展泛型类型
16.5、类型约束
16.5.1、类型约束语法
16.5.2、类型约束行为
16.6、关联类型
16.6.1、关联类型行为
16.6.2、扩展一个存在的类型为一指定关联类型
16.7、Where语句
16.8、小结
第17章:私人定制——高级操作符
17.1、位操作符
17.1.1、按位取反操作符
17.1.2、按位与操作符
17.1.3、按位或操作符
17.1.4、按位异或操作符
17.1.5、按位左移/右移操作符
17.2、溢出操作符
17.2.1、值的上溢出
17.2.2、值的下溢出
17.2.3、除零溢出
17.3、优先级和结合性
17.4、操作符函数
17.4.1、二元操作符函数
17.4.2、前置和后置操作符函数
17.4.3、组合赋值操作符函数
17.4.4、等值操作符函数
17.4.5、定制操作符
17.4.6、自定义中置操作符的优先级和结合性
17.5、小结
第18章:做未来的iOS程序员——Swift开发iOS应用技术
18.1、创建iOS工程
18.2、iOS工程概述
18.2.1、应用程序代理
18.2.2、视图控制器
18.2.3、故事板
18.2.4、图像集合
18.3、运行iOS应用
18.4、实现一个可以浏览Web页面的程序
18.4.1、调整故事板的大小
18.4.2、在故事板中设计UI
18.4.3、UI与视图控制器关联
18.4.4、浏览网页
18.4.5、改变视图控制器
18.5、小结
第19章:开启游戏开发之旅——SpriteKit游戏引擎
19.1、创建游戏工程
19.2、游戏工程的结构
19.3、运行游戏工程
19.4、默认游戏工程原理解析
19.4.1、游戏的入口点
19.4.2、创建初始化
19.4.3、捕捉屏幕的触摸动作
19.5、小结
第20章:综合应用实战——Flappybird游戏开发
20.1、游戏效果演示
20.2、添加游戏资源
20.3、游戏的初始化
20.4、创建一对管道
20.5、通过触摸屏幕让小鸟跳起
20.6、用物理引擎进行碰撞检测
20.7、小结