第一部分 基础知识 2
第1章 Swift简介 2
1.1革命性的改良 2
1.2准备工作 3
1.2.1专业工具 3
1.2.2与Swift交互 3
1.3准备出发 4
1.4开始探索Swift 6
1.4.1帮助和退出 6
1.4.2Hello World 6
1.5声明的威力 7
1.6常量 9
1.7类型 10
1.7.1检查上限和下限 11
1.7.2类型转换 11
1.7.3显式地声明类型 12
1.8字符串 13
1.8.1字符串拼接 13
1.8.2Character类型 14
1.9数学运算符 14
1.9.1表达式 15
1.9.2混用不同的数值类型 15
1.9.3数值表示 16
1.10布尔类型 17
1.11轻松显示 18
1.12使用类型别名 19
1.13使用元组将数据编组 19
1.14可选类型 20
1.15小结 22
第2章 使用集合 23
2.1糖果罐 23
2.1.1数组中所有元素的类型都必须相同 26
2.1.2增长数组 26
2.1.3替换和删除值 27
2.1.4将值插入到指定位置 28
2.1.5合并数组 29
2.2字典 30
2.2.1查找条目 31
2.2.2添加条目 32
2.2.3更新条目 33
2.2.4删除条目 33
2.3数组的数组 34
2.4创建空数组和空字典 36
2.4.1空数组 36
2.4.2空字典 37
2.5迭代集合 38
2.5.1迭代数组 38
2.5.2迭代字典 39
2.6小结 40
第3章 流程控制 41
3.1for循环 41
3.1.1计数 41
3.1.2包含还是不包含结束数字 42
3.1.3老式for循环 43
3.1.4简写 44
3.2游乐场 45
3.3决策 48
3.3.1if语句 48
3.3.2检查多个条件 52
3.3.3switch语句 53
3.3.4while循环 56
3.3.5检查代码 58
3.3.6提早结束循环 61
3.4小结 61
第4章 编写函数和闭包 62
4.1函数 62
4.1.1使用Swift编写函数 63
4.1.2执行函数 64
4.1.3参数并非只能是数字 65
4.1.4可变参数 66
4.1.5函数是一级对象 69
4.1.6从函数返回函数 71
4.1.7嵌套函数 73
4.1.8默认参数 76
4.1.9函数名包含哪些内容 77
4.1.10清晰程度 79
4.1.11用不用外部参数名 80
4.1.12变量参数 81
4.1.13inout参数 84
4.2闭包 86
4.3小结 88
4.4类 89
第5章 使用类和结构组织代码 90
5.1对象无处不在 90
5.2Swift对象是使用类定义的 91
5.2.1定义类 91
5.2.2创建对象 93
5.2.3开门和关门 93
5.2.4锁门和开锁 94
5.2.5查看属性 96
5.2.6门应是各式各样的 97
5.2.7修改颜色 99
5.3继承 99
5.3.1创建基类 100
5.3.2创建子类 103
5.3.3实例化子类 104
5.3.4便利初始化方法 109
5.3.5枚举 111
5.3.6结构 113
5.3.7值类型和引用类型 114
5.4小结 116
第6章 使用协议和扩展进行规范化 117
6.1遵循协议 117
6.1.1类还是协议 117
6.1.2协议并非只能定义方法 119
6.1.3遵循多个协议 121
6.1.4协议也可继承 122
6.1.5委托 123
6.2扩展 126
6.2.1扩展基本类型 127
6.2.2在扩展中使用闭包 130
6.3小结 132
第二部分 使用Swift开发软件 134
第7章 使用Xcode 134
7.1Xcode简史 134
7.2创建第一个Swift项目 135
7.3Xcode界面 136
7.3.1与Xcode窗口交互 138
7.3.2运行应用程序 139
7.4开发应用程序 140
7.4.1腾出空间 141
7.4.2创建界面 142
7.4.3美化 145
7.4.4编写代码 146
7.4.5建立连接 149
7.5小结 151
第8章 改进应用程序 152
8.1细节很重要 152
8.1.1显示金额 152
8.1.2再谈可选类型 154
8.1.3可选类型拆封 154
8.1.4美化 155
8.1.5另一种格式设置方法 156
8.2计算复利 159
8.2.1连接起来 161
8.2.2测试 164
8.3调试 164
8.3.1bug在哪里 164
8.3.2断点 165
8.3.3复杂的复利计算 168
8.4测试的价值 169
8.4.1单元测试 169
8.4.2编写测试 169
8.4.3如果测试未通过 172
8.4.4始终运行的测试 173
8.5小结 174
第9章 Swift移动开发 175
9.1移动设备和台式机 175
9.2挑战记忆力 175
9.2.1考虑玩法 176
9.2.2设计UI 176
9.3创建项目 177
9.4创建用户界面 179
9.4.1创建按钮 180
9.4.2在模拟器中运行 182
9.4.3设置约束 183
9.5MVC 186
9.6编写游戏代码 186
9.6.1类 189
9.6.2枚举 190
9.6.3视图对象 190
9.6.4模型对象 190
9.6.5可重写的方法 191
9.6.6游戏的方法 191
9.6.7处理输赢 195
9.7回到故事板 196
9.8开玩 198
第10章 其他主题 199
10.1Swift内存管理 199
10.1.1值和引用 199
10.1.2引用计数 200
10.1.3引用循环 200
10.1.4演示引用循环 201
10.1.5编写测试代码 202
10.1.6断开引用循环 204
10.1.7闭包中的引用循环 205
10.1.8感恩 207
10.2逻辑运算符 207
10.2.1逻辑非 207
10.2.2逻辑与 208
10.2.3逻辑或 208
10.3泛型 209
10.4运算符重载 210
10.5相等和相同 213
10.6Swift脚本编程 214
10.6.1编辑脚本 215
10.6.2设置权限 216
10.6.3运行脚本 216
10.6.4工作原理 216
10.7获取帮助 218
10.8独闯江湖 219
10.8.1研究苹果公司提供的框架 219
10.8.2加入苹果开发者计划 220
10.8.3成为社区的一分子 220
10.8.4活到老学到老 220
10.8.5一路平安 220