内容介绍
这本书面向初学者,从变量、类型、函数、闭包等基本概念,结合Swift实例,一步步引导读者使用Swift开发应用。在书的最后,给出了一个App的开发过程。
这本书适合任何想学Swift的人。
目录
- 第一部分基础知识
- 第1章Swift简介2
- 1.1革命性的改良2
- 1.2准备工作3
- 1.2.1专业工具3
- 1.2.2与Swift交互3
- 1.3准备出发4
- 1.4开始探索Swift6
- 1.4.1帮助和退出6
- 1.4.2Hello World7
- 1.5声明的威力7
- 1.6常量9
- 1.7类型10
- 1.7.1检查上限和下限11
- 1.7.2类型转换11
- 1.7.3显式地声明类型13
- 1.8字符串13
- 1.8.1字符串拼接14
- 1.8.2Character类型14
- 1.9数学运算符15
- 1.9.1表达式15
- 1.9.2混用不同的数值类型16
- 1.9.3数值表示16
- 1.10布尔类型17
- 1.11轻松显示18
- 1.12使用类型别名19
- 1.13使用元组将数据编组20
- 1.14可选类型21
- 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迭代集合37
- 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语句49
- 3.3.2检查多个条件52
- 3.3.3switch语句53
- 3.3.4while循环57
- 3.3.5检查代码59
- 3.3.6提早结束循环62
- 3.4小结62
- 第4章编写函数和闭包63
- 4.1函数63
- 4.1.1使用Swift编写函数64
- 4.1.2执行函数65
- 4.1.3参数并非只能是数字66
- 4.1.4可变参数67
- 4.1.5函数是一级对象70
- 4.1.6从函数返回函数71
- 4.1.7嵌套函数74
- 4.1.8默认参数76
- 4.1.9函数名包含哪些内容77
- 4.1.10清晰程度78
- 4.1.11用不用参数名79
- 4.1.12变量参数79
- 4.1.13inout参数81
- 4.2闭包82
- 4.3小结84
- 4.4类84
- 第5章使用类和结构组织代码85
- 5.1对象无处不在85
- 5.2Swift对象是使用类定义的86
- 5.2.1定义类86
- 5.2.2创建对象88
- 5.2.3开门和关门88
- 5.2.4锁门和开锁89
- 5.2.5查看属性92
- 5.2.6门应是各式各样的92
- 5.2.7修改颜色94
- 5.3继承95
- 5.3.1创建基类96
- 5.3.2创建子类98
- 5.3.3实例化子类100
- 5.3.4便利初始化方法104
- 5.4枚举106
- 5.5结构109
- 5.6值类型和引用类型110
- 5.7小结112
- 第6章使用协议和扩展进行规范化113
- 6.1遵循协议113
- 6.1.1类还是协议113
- 6.1.2协议并非只能定义方法115
- 6.1.3遵循多个协议117
- 6.1.4协议也可继承118
- 6.1.5委托119
- 6.2扩展122
- 6.2.1扩展基本类型123
- 6.2.2在扩展中使用闭包127
- 6.3小结129
- 第二部分使用Swift开发软件
- 第7章使用Xcode132
- 7.1Xcode简史132
- 7.2创建第一个Swift项目133
- 7.3Xcode界面135
- 7.3.1与Xcode窗口交互136
- 7.3.2运行应用程序138
- 7.4开发应用程序139
- 7.4.1腾出空间139
- 7.4.2创建界面141
- 7.4.3美化143
- 7.4.4编写代码145
- 7.4.5建立连接149
- 7.5小结151
- 第8章改进应用程序152
- 8.1细节很重要152
- 8.1.1显示金额152
- 8.1.2再谈可选类型154
- 8.1.3可选类型拆封155
- 8.1.4美化155
- 8.1.5另一种格式设置方法156
- 8.2计算复利160
- 8.2.1连接起来162
- 8.2.2测试165
- 8.3调试165
- 8.3.1bug在哪里165
- 8.3.2断点166
- 8.3.3复杂的复利计算169
- 8.4测试的价值170
- 8.4.1单元测试170
- 8.4.2编写测试171
- 8.4.3如果测试未通过173
- 8.4.4始终运行的测试174
- 8.5小结175
- 第9章Swift移动开发176
- 9.1移动设备和台式机176
- 9.2挑战记忆力176
- 9.2.1考虑玩法177
- 9.2.2设计UI177
- 9.3创建项目178
- 9.4创建用户界面180
- 9.4.1创建按钮181
- 9.4.2在模拟器中运行183
- 9.4.3设置约束184
- 9.5MVC187
- 9.6编写游戏代码187
- 9.6.1类190
- 9.6.2枚举191
- 9.6.3视图对象191
- 9.6.4模型对象191
- 9.6.5可重写的方法192
- 9.6.6游戏的方法193
- 9.6.7处理输赢196
- 9.7回到故事板198
- 9.8开玩200
- 第10章成为专家201
- 10.1Swift内存管理201
- 10.1.1值和引用201
- 10.1.2引用计数202
- 10.1.3引用循环203
- 10.1.4演示引用循环 203
- 10.1.5编写测试代码 204
- 10.1.6断开引用循环 206
- 10.1.7闭包中的引用循环207
- 10.1.8感恩209
- 10.2逻辑运算符209
- 10.2.1逻辑非209
- 10.2.2逻辑与210
- 10.2.3逻辑或210
- 10.3泛型211
- 10.4运算符重载212
- 10.5相等和相同214
- 10.6错误处理216
- 10.6.1引发错误216
- 10.6.2捕获错误217
- 10.7Swift脚本编程219
- 10.7.1创建脚本219
- 10.7.2设置权限221
- 10.7.3执行脚本221
- 10.7.4工作原理222
- 10.8获取帮助223
- 10.9小结225
- 第11章高山滑雪226
- 11.1游戏开发技术226
- 11.1.1GameKit226
- 11.1.2SpriteKit227
- 11.2始于构思227
- 11.2.1高山滑雪227
- 11.2.2社交功能227
- 11.3出发227
- 11.3.1怎么玩228
- 11.3.2玩一玩228
- 11.4研究这个项目的组织结构231
- 11.4.1类231
- 11.4.2素材232
- 11.4.3场景232
- 11.5探索源代码232
- 11.5.1场景Home232
- 11.5.2场景Game235
- 11.5.3游戏视图控制器239
- 11.5.4全面了解241
- 11.6独闯江湖241
- 11.6.1研究苹果公司提供的框架241
- 11.6.2加入苹果开发者计划242
- 11.6.3成为社区的一分子242
- 11.6.4活到老学到老242
- 11.6.5一路平安242