Swift入门很简单PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:陈隽,刘媛媛编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302388807
- 页数:373 页
第1篇 Swift开发基础 2
第1章 编写第一个Swift程序 2
1.1 初识Swift 2
1.1.1 Swift的诞生 2
1.1.2 Swift的特点与不足 2
1.2 搭建开发环境 3
1.2.1 安装Xcode 6 3
1.2.2 安装组件 4
1.2.3 更新组件和文档 5
1.3 编写第一个程序 5
1.3.1 创建项目 6
1.3.2 Xcode 6.1 界面介绍 9
1.3.3 编译和运行 11
1.3.4 编写代码 11
1.3.5 生成可执行文件 12
1.4 Swift代码分析 14
1.4.1 代码的构成 14
1.4.2 标识符 14
1.4.3 关键字 15
1.4.4 注释 16
1.4.5 文件构成 17
1.5 使用帮助文档 17
第2章 数据类型 19
2.1 常量和变量 19
2.1.1 常量 19
2.1.2 变量 20
2.1.3 为声明的变量和常量指定数据类型 20
2.2 简单的数据类型 21
2.2.1 整数(Integer) 21
2.2.2 整型 22
2.2.3 浮点类型 23
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 字符型字面值 29
2.3.4 字符串字面值 29
2.3.5 布尔类型的字面值 30
2.4 高级数据类型——元组 30
2.5 类型别名 33
第3章 语句和表达式 34
3.1 语句 34
3.2 运算符与表达式 34
3.2.1 常用术语——元 34
3.2.2 赋值运算符和表达式 35
3.2.3 算术运算符和表达式 35
3.2.4 取余运算符和表达式 38
3.2.5 自增自减运算符和表达式 39
3.2.6 一元减运算符 41
3.2.7 一元加运算符 41
3.2.8 位运算符 41
3.2.9 溢出运算符 48
3.2.10 比较运算符和表达式 50
3.2.11 三元条件运算符 51
3.2.12 逻辑运算符和表达式 52
3.2.13 范围运算符 55
3.2.14 复合赋值运算符和表达式 56
3.2.15 求字节运算符和表达式 57
3.2.16 强制解析 57
3.3 类型转换 58
3.3.1 整数的转换 58
3.3.2 整数和浮点数的转换 59
第4章 字符串 61
4.1 字符串的初始化 61
4.1.1 字符串的种类 61
4.1.2 初始化空的字符串 62
4.1.3 使用字符串初始化字符串 62
4.1.4 计算字符个数 63
4.1.5 遍历字符 63
4.2 字符串组合 63
4.2.1 字符串与字符组合 64
4.2.2 字符串与字符串组合 65
4.3 字符串判断 66
4.3.1 判断字符串是否为空 66
4.3.2 判断字符串相等 66
4.3.3 判断前缀 67
4.3.4 判断后缀 68
4.4 大小写转换 69
4.4.1 大写转换 69
4.4.2 小写转换 69
4.5 Unicode编码 70
4.5.1 Unicode术语 70
4.5.2 Unicode字符串 70
4.5.3 UTF-8编码 71
4.5.4 UTF-16编码 71
4.5.5 UTF标量 72
第5章 集合类型 73
5.1 数组 73
5.1.1 数组字面量 73
5.1.2 数组的定义 73
5.1.3 数组的初始化 74
5.2 数组的操作 76
5.2.1 获取数组中元素的个数 76
5.2.2 判断数组是否为空 76
5.2.3 判断两个数组是否共用相同的元素 77
5.2.4 复制数组 78
5.2.5 在末尾添加一个元素 78
5.2.6 插入值 79
5.2.7 读取值 80
5.2.8 修改值 80
5.2.9 删除值 82
5.2.10 遍历数组 84
5.3 字典 85
5.3.1 字典字面量 85
5.3.2 字典的定义 85
5.3.3 字典的初始化 86
5.4 字典的操作 87
5.4.1 获取字典中的元素个数 87
5.4.2 读取键的值 87
5.4.3 添加元素 88
5.4.4 修改键关联的值 88
5.4.5 删除键 89
5.4.6 遍历 91
5.5 可变的集合类型 92
第6章 程序控制结构 93
6.1 顺序结构 93
6.1.1 程序的执行流程 93
6.1.2 代码调试 94
6.2 选择结构——if语句 95
6.2.1 if语句 95
6.2.2 if...else语句 96
6.2.3 if...else if语句 97
6.3 选择结构——switch语句 99
6.3.1 switch语句基本形式 99
6.3.2 规则1:相同的常量或常量表达式 101
6.3.3 规则2:可执行的语句不能为空 102
6.3.4 规则3:多条件组合 102
6.3.5 规则4:范围匹配 102
6.3.6 规则5:使用元组 103
6.3.7 规则6:数值绑定 104
6.3.8 规则7:使用where关键字 105
6.4 循环结构——for语句 106
6.4.1 for...in循环 107
6.4.2 for-condition-increment条件循环 108
6.5 循环结构——while语句 109
6.5.1 while循环 110
6.5.2 do while循环 111
6.6 跳转语句 112
6.6.1 continue语句 112
6.6.2 break语句 113
6.6.3 fallthrough语句 114
6.6.4 使用标签语句 114
第7章 函数和闭包 117
7.1 函数介绍 117
7.2 使用无参函数 118
7.2.1 无参函数的声明定义 118
7.2.2 无参函数的调用 119
7.2.3 空函数 120
7.3 使用有参函数 120
7.3.1 有参函数的声明定义 120
7.3.2 有参函数的调用 121
7.3.3 参数的注意事项 122
7.4 函数参数的特殊情况 123
7.4.1 本地参数名 123
7.4.2 外部参数名 123
7.4.3 设定参数默认值 125
7.4.4 为外部参数设置默认值 126
7.4.5 可变参数 126
7.4.6 常量参数和变量参数 127
7.4.7 输入-输出参数 128
7.5 函数的返回值 130
7.5.1 具有一个返回值的函数 130
7.5.2 具有多个返回值的函数 130
7.5.3 无返回值 132
7.6 函数类型 132
7.6.1 使用函数类型 133
7.6.2 使用函数类型作为参数类型 134
7.6.3 使用函数类型作为返回值类型 134
7.7 标准函数 135
7.7.1 绝对值函数abs() 135
7.7.2 最大值函数max()/最小值函数min() 136
7.7.3 序列的最大值函数maxElement()/最小值函数minElement() 137
7.7.4 判断序列是否包含指定元素函数contains() 138
7.7.5 序列排序函数sort() 139
7.7.6 序列倒序函数reverse() 139
7.8 函数嵌套调用形式 140
7.8.1 嵌套调用基本形式 140
7.8.2 递归调用 141
7.9 闭包 142
7.9.1 闭包表达式 143
7.9.2 使用闭包表达式的注意事项 146
7.9.3 Trailing闭包 147
7.9.4 捕获值 148
第2篇 面向对象编程 152
第8章 类 152
8.1 类与对象 152
8.1.1 类的组成 152
8.1.2 创建类 152
8.1.3 实例化对象 153
8.2 属性 153
8.2.1 存储属性 154
8.2.2 计算属性 158
8.2.3 类型属性 162
8.2.4 属性监视器 165
8.3 方法 168
8.3.1 实例方法 168
8.3.2 类型方法 171
8.3.3 存储属性、局部变量和全局变量的区别 174
8.3.4 局部变量和存储属性同名的解决方法——self属性 175
8.4 下标脚本 176
8.4.1 定义下标脚本 176
8.4.2 调用下标脚本 177
8.4.3 使用下标脚本 177
8.5 类的嵌套 181
8.5.1 直接嵌套 181
8.5.2 多次嵌套 182
8.6 可选链接 184
8.6.1 可选链接的实现方式 184
8.6.2 通过可选链接调用属性、下标脚本和方法 185
8.6.3 连接多个链接 188
第9章 继承 189
9.1 为什么使用继承 189
9.1.1 减少代码量 189
9.1.2 扩展功能 190
9.2 继承的实现 191
9.2.1 继承的定义 191
9.2.2 属性的继承 191
9.2.3 下标脚本的继承 193
9.2.4 方法的继承 193
9.3 继承的特点 194
9.3.1 多层继承 194
9.3.2 不可删除 196
9.4 重写 196
9.4.1 重写属性 196
9.4.2 重写下标脚本 199
9.4.3 重写方法 200
9.4.4 重写的注意事项 201
9.4.5 访问父类成员 202
9.4.6 阻止重写 205
9.5 类型检查 208
9.5.1 类型检查——is 208
9.5.2 类型检查——as 210
9.5.3 AnyObject和Any的类型检查 212
第10章 枚举类型 215
10.1 枚举类型的组成 215
10.2 定义枚举类型 215
10.2.1 任意类型的枚举类型 216
10.2.2 指定数据类型的枚举类型 216
10.3 定义枚举类型的成员 217
10.3.1 定义任意类型的枚举成员 217
10.3.2 定义指定数据类型的枚举类型成员 218
10.3.3 注意事项 220
10.4 实例化枚举类型的对象 221
10.5 访问枚举类型中成员的原始值 221
10.5.1 通过成员访问原始值 221
10.5.2 通过原始值获取成员 223
10.6 枚举成员与switch匹配 224
10.7 相关值 226
10.8 定义枚举类型的属性 227
10.8.1 计算属性 228
10.8.2 类型属性 228
10.8.3 属性监视器 229
10.9 定义枚举类型的下标脚本 229
10.10 定义枚举类型的方法 230
10.10.1 实例方法 230
10.10.2 类型方法 232
10.11 枚举类型的应用 233
10.11.1 为常量/变量赋值 233
10.11.2 作为函数的参数 234
10.12 枚举类型嵌套 235
10.12.1 直接嵌套 235
10.12.2 多次嵌套 236
第11章 结构 238
11.1 结构的定义和实例化 238
11.1.1 结构的构成 238
11.1.2 定义结构 238
11.1.3 实例化对象 239
11.2 定义结构的属性 239
11.2.1 存储属性 239
11.2.2 计算属性 241
11.2.3 类型属性 242
11.2.4 添加属性监视器 242
11.2.5 初始化实例对象 243
11.3 定义结构的下标脚本 245
11.4 定义结构的方法 246
11.4.1 实例方法 246
11.4.2 类型方法 247
11.5 结构嵌套 248
11.5.1 直接嵌套 248
11.5.2 多次嵌套 249
11.6 类、枚举类型和结构的区别 251
11.7 类、枚举和结构的嵌套 251
11.7.1 枚举使用在类中 252
11.7.2 枚举使用在结构中 252
11.7.3 类使用在结构中 253
第12章 构造方法和析构方法 255
12.1 值类型的构造器 255
12.1.1 默认构造器 255
12.1.2 自定义构造器 256
12.1.3 构造器代理 260
12.2 类的构造器 264
12.2.1 默认构造器 264
12.2.2 自定义构造器 264
12.2.3 构造器代理 269
12.2.4 构造器的继承和重载 270
12.3 构造器的特殊情况 277
12.3.1 可选类型 277
12.3.2 修改常量属性 278
12.4 类的构造 278
12.5 设置默认值 280
12.5.1 在定义时直接赋值 280
12.5.2 在构造器中赋值 281
12.5.3 使用闭包设置属性的默认值 281
12.5.4 使用函数设置默认值 283
12.6 析构方法 283
12.6.1 理解析构 283
12.6.2 析构方法的定义 284
12.6.3 使用析构方法 284
12.6.4 构造方法和析构方法的区别 286
第13章 扩展和协议 287
13.1 扩展 287
13.1.1 扩展的定义 287
13.1.2 扩展属性 287
13.1.3 扩展构造器 290
13.1.4 扩展方法 292
13.1.5 扩展下标脚本 294
13.1.6 扩展嵌套类型 295
13.2 协议 296
13.2.1 协议的定义 296
13.2.2 协议的实现 296
13.2.3 协议的成员声明——属性 298
13.2.4 协议的成员声明——方法 301
13.2.5 协议的成员声明——可变方法 303
13.3 可选协议 304
13.3.1 定义可选协议 305
13.3.2 声明可选成员 305
13.3.3 调用可选协议 307
13.4 使用协议类型 309
13.4.1 协议类型作为常量、变量等的数据类型 309
13.4.2 协议类型的返回值或参数 309
13.4.3 协议类型作为集合的元素类型 310
13.5 在扩展中使用协议 311
13.5.1 在扩展中实现协议 311
13.5.2 定义协议成员 311
13.5.3 扩展协议声明 312
13.6 协议的继承 312
13.7 协议组合 314
13.8 检查协议的一致性 315
13.9 委托 316
第3篇 Swift高级开发技术 320
第14章 自动引用计数(ARC) 320
14.1 自动引用计数的工作机制 320
14.2 循环强引用的产生 322
14.2.1 类实例之间的循环强引用 322
14.2.2 闭包引起的循环强引用 324
14.3 循环强引用的解决方法 326
14.3.1 解决类实例之间的循环强引用 326
14.3.2 解决闭包引起的循环强引用 331
第15章 运算符重载 335
15.1 为什么使用运算符重载 335
15.2 算术运算符的重载 335
15.3 一元减/加运算符的重载 337
15.3.1 一元减运算符的重载 337
15.3.2 一元加运算符的重载 338
15.4 复合赋值运算符的重载 338
15.5 自增自减运算符的重载 340
15.5.1 自增运算符的重载 340
15.5.2 自减运算符的重载 342
15.6 比较运算符的重载 344
15.6.1 “==”相等运算符的重载 344
15.6.2 “!=”不相等运算符的重载 345
15.6.3 其他比较运算符的重载 346
15.7 自定义运算符的重载 347
15.7.1 前置自定义运算符的重载 347
15.7.2 中置自定义运算符的重载 348
15.7.3 后置自定义运算符的重载 349
15.7.4 自定义运算符的优先级和结合性 351
15.8 注意事项 357
15.8.1 重载后运算符的优先级 357
15.8.2 不可以重载的运算符 358
第16章 泛型 359
16.1 为什么使用泛型 359
16.2 泛型函数 360
16.3 泛型类型 361
16.3.1 泛型枚举 361
16.3.2 泛型结构 361
16.3.3 泛型类 363
16.4 泛型类的层次结构 364
16.4.1 使用泛型基类 364
16.4.2 使用泛型派生类 365
16.5 具有多个类型参数的泛型 366
16.6 类型约束 367
16.7 关联类型 368
16.7.1 定义关联类型 368
16.7.2 扩展已存在类型为关联类型 370
16.7.3 约束关联类型 371
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《小提琴入门新教程 第3册》王中男著 2018
- 《小提琴入门新教程 第2册》王中男编著 2017
- 《新手养花从入门到精通》徐帮学编 2019
- 《少儿速成中国象棋 入门篇 上》田磊 2016
- 《隐之诗 不打草稿的古风水彩画入门》肖辉责任编辑;(中国)飞乐鸟工作室 2019
- 《人工智能入门》范瑞峰,顾小清主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019