第1章 通过实践练习:变量、常量、循环 1
1.1 建立Swift块 1
1.1.1 计算型属性(Getter和Setter) 2
1.1.2 使用注释 3
1.1.3 推断 3
1.2 把变量并入字符串 5
1.3 可选项:对于拆包的一个礼物 6
1.3.1 打印你的结果 8
1.3.2 隐式拆包可选项 8
1.4 元组 9
1.5 数据类型 10
1.6 从Objective-C到Swift 11
1.6.1 控制流:做出选择 12
1.6.2 选择正确的:switch表达式 18
1.6.3 停止:一锤定音时间 20
1.7 总结 21
第2章 收集你的数据:数组和字典 22
2.1 使用数组 22
2.1.1 你的第一个数组 22
2.1.2 一个快速定义的数组 23
2.1.3 使用AnyObject 23
2.1.4 NSArrays和Swfit的Arrays的不同 24
2.2 修改数组 24
2.2.1 访问数组元素 24
2.2.2 给数组添加元素 24
2.2.3 从数组中删除元素 25
2.2.4 遍历数组 25
2.2.5 其余一些关于数组的内容 26
2.2.6 清空数组 26
2.3 使用字典 27
2.3.1 字典的增加、删除和插入 27
2.3.2 遍历字典 28
2.3.3 其余一些关于字典的内容 28
2.3.4 清空字典 28
2.3.5 测试字典展示的值 29
2.3.6 把它们放在一起 29
2.4 总结 30
第3章 让事情发生:函数 31
3.1 定义函数 31
3.1.1 返回类型 33
3.1.2 多个返回值 33
3.2 更多关于参数的知识 34
3.2.1 外部参数命名 34
3.2.2 默认参数值 35
3.2.3 可变参数 36
3.2.4 In-Out参数 37
3.2.5 函数作为类型 37
3.2.6 总结一下 38
3.3 小结 41
第4章 结构代码:枚举、结构和类 42
4.1 枚举 42
4.1.1 哪一个成员被赋值 43
4.1.2 关联值 44
4.1.3 原始值 45
4.2 结构体 46
4.2.1 在结构体中定义方法 47
4.2.2 结构体总是被复制 48
4.2.3 可变方法 48
4.2.4 类 49
4.2.5 初始化 50
4.2.6 什么是引用类型 51
4.2.7 你会使用结构体还是类 51
4.2.8 忘掉指针语法 52
4.2.9 属性观察者 52
4.2.10 类中的方法 52
4.3 总结 56
第5章 SpriteKit 57
5.1 SpriteKit介绍 57
5.2 创建一个游戏 58
5.2.1 新项目页面 58
5.2.2 创建游戏 59
5.3 总结 70
第6章 重复使用的代码:闭包 71
6.1 什么是闭包 71
6.2 其他语言中的闭包 71
6.3 闭包是如何工作的,它们为什么这么惊人 73
6.3.1 闭包语法 73
6.3.2 使用上下文进行推断 74
6.3.3 参数也有简称 74
6.3.4 为一个自定义汽车类排序 74
6.3.5 闭包是引用类型 75
6.3.6 自动引用计数 76
6.3.7 强引用循环 77
6.3.8 尾部闭包 82
6.4 总结 83
第7章 创建下角标和高级操作符 84
7.1 写你的第一个下角标 84
7.2 使用高级操作符的比特和字节 87
7.2.1 按位NOT 88
7.2.2 按位AND 89
7.2.3 按位OR 90
7.2.4 按位XOR 91
7.2.5 比特移位 91
7.2.6 UInt8、UInt16、UInt32、Int8、Int16、Int32等 92
7.2.7 值上溢和下溢 92
7.3 自定义操作符 93
7.4 创造你自己的操作符 95
7.5 真实生活中的比特和字节 96
7.6 总结 99
第8章 协议 100
8.1 写出你的第一个协议 100
8.1.1 属性 101
8.1.2 lazy变量 104
8.2 Animizable和Humanizable 104
8.3 委托 106
8.4 协议作为类型 108
8.5 集合中的协议 108
8.5.1 协议的继承 109
8.5.2 协议组合 110
8.5.3 协议的一致性 112
8.5.4 可选协议的先决条件 113
8.6 可选链 115
8.6.1 回到可选协议的先决条件 116
8.6.2 使用Swif内建的t协议 116
8.7 总结 118
第9章 灵活使用泛型 120
9.1 泛型所解决的问题 120
9.1.1 泛型的其他使用 122
9.1.2 协议的泛型 124
9.1.3 Where语句 125
9.2 总结 128
第10章 使用SpriteKit的游戏 129
10.1 游戏 129
10.2 安装 129
10.3 浏览代码 130
10.4 游戏创建 130
10.4.1 步骤1:创造世界 131
10.4.2 步骤2:让事物移动 139
10.4.2 使用SKActions让东西移动 143
10.5 总结 147
第11章 使用Physics编写游戏 148
11.1 制作一个基于物理基础的游戏 148
11.1.1 创建工程 148
11.1.2 添加资源 149
11.1.3 增加关卡 150
11.1.4 生成关卡 150
11.1.5 制作一个可以玩的游戏 156
11.1.6 创建围栏 157
11.2 总结 161
第12章 使用UIKit制作APP 162
12.1 应用类型 162
12.1.1 Single-View应用 163
12.1.2 创建用户界面 164
12.1.3 添加约束 165
12.1.4 连接用户界面的元素和代码 166
12.1.5 编写代码 167
12.1.6 表格 171
12.2 总结 172