Swift进阶PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:克里斯·安道夫(Chris Eidhof)
- 出 版 社:北京:电子工业出版社
- 出版年份:2017
- ISBN:9787121312007
- 页数:290 页
第1章 介绍 1
1.1 本书所面向的读者 2
1.2 主题 3
1.3 术语 6
1.4 Swift风格指南 9
第2章 内建集合类型 11
2.1 数组 11
数组和可变性 11
数组和可选值 13
数组变形 14
数组类型 25
2.2 字典 27
可变性 28
有用的字典扩展 28
Hashable要求 30
2.3 Set 31
集合代数 32
索引集合和字符集合 33
在闭包中使用集合 34
2.4 Range 34
第3章 集合类型协议 37
3.1 序列 37
迭代器 38
无限序列 44
不稳定序列 44
序列和迭代器之间的关系 45
子序列 46
3.2 集合类型 47
为队列设计协议 48
队列的实现 50
遵守Collection协议 51
遵守ExpressibleByArrayLiteral协议 54
关联类型 55
3.3 索引 57
索引失效 58
索引步进 59
链表 60
3.4 切片 70
实现自定义切片 71
切片与原集合共享索引 74
通用的PrefixIterator 74
3.5 专门的集合类型 75
前向索引 76
双向索引 77
随机存取索引 78
MutableCollection 79
RangeReplaceableCollection 80
3.6 总结 82
第4章 可选值 84
4.1 哨岗值 84
4.2 通过枚举解决魔法数的问题 86
4.3 可选值概览 88
if let 88
while let 89
双重可选值 92
if var and while var 94
解包后可选值的作用域 95
可选链 97
nil合并运算符 99
可选值map 101
可选值flatMap 103
使用flatMap过滤nil 104
可选值判等 105
switch-case匹配可选值 108
可选值比较 109
4.4 强制解包的时机 109
改进强制解包的错误信息 111
在调试版本中进行断言 111
4.5 多灾多难的隐式可选值 113
隐式可选值行为 113
4.6 总结 114
第5章 结构体和类 115
5.1 值类型 116
5.2 可变性 117
5.3 结构体 120
5.4 写时复制 127
写时复制(昂贵方式) 129
写时复制(高效方式) 130
写时复制的陷阱 132
5.5 闭包和可变性 134
5.6 内存 135
weak引用 137
unowned引用 138
5.7 闭包和内存 139
结构体和类使用实践 139
5.8 闭包和内存 142
引用循环 143
捕获列表 144
5.9 总结 145
第6章 函数 146
6.1 函数的灵活性 152
函数作为数据 155
6.2 局部函数和变量捕获 161
6.3 函数作为代理 163
Foundation框架的代理 163
结构体代理 164
使用函数,而非代理 165
6.4 inout参数和可变方法 167
嵌套函数和inout 169
&不意味inout的情况 170
6.5 计算属性和下标 171
延迟存储属性 172
使用不同参数重载下标 173
下标进阶 175
6.6 自动闭包 175
@escaping标注 177
6.7 总结 179
第7章 字符串 180
7.1 不再固定宽度 180
字位簇和标准等价 181
7.2 字符串和集合 184
字符串与切片 187
7.3 简单的正则表达式匹配器 189
7.4 ExpressibleByStringLiteral 192
7.5 String的内部结构 193
Character的内部组织结构 199
7.6 编码单元表示方式 199
7.7 CustomStringConvertible和CustomDebugStringConvertible 201
7.8 文本输出流 203
7.9 字符串性能 207
7.10 展望 211
第8章 错误处理 212
8.1 Result类型 213
8.2 抛出和捕获 214
8.3 带有类型的错误 216
8.4 将错误桥接到Objective-C 217
8.5 错误和函数参数 218
Rethrows 220
8.6 使用defer进行清理 221
8.7 错误和可选值 222
8.8 错误链 223
链结果 223
8.9 高阶函数和错误 224
8.10 总结 226
第9章 泛型 228
9.1 重载 228
自由函数的重载 229
运算符的重载 230
使用泛型约束进行重载 231
使用闭包对行为进行参数化 235
9.2 对集合采用泛型操作 236
二分查找 236
泛型二分查找 238
集合随机排列 241
SubSequence和泛型算法 244
重写与优化 246
9.3 使用泛型进行代码设计 247
提取共通功能 249
创建泛型数据类型 250
9.4 泛型的工作方式 251
泛型特化 253
全模块优化 254
9.5 总结 255
第10章 协议 256
10.1 面向协议编程 258
协议扩展 260
在协议扩展中重写方法 260
10.2 协议的两种类型 262
类型抹消 264
10.3 带有Self的协议 267
10.4 协议内幕 269
性能影响 270
10.5 总结 271
第11章 互用性 272
11.1 实践:封装CommonMark 272
封装C代码库 272
封装cmark_node类型 273
更安全的接口 278
11.2 低层级类型概览 284
11.3 函数指针 286
- 《兵部尚书王道夫》沈沧源著 2014
- 《阿道夫·希特勒的兴亡》肖容注释 1982
- 《英国英语和美国英语 美艾尔伯特·马克华德特和英伦道夫·夸克谈话录》(英)夸克,(英)马克华德特著;许祖峰等译 1989
- 《大自然的清道夫》(韩)金春玉编著;(韩)金世镇绘;李明淑译 2006
- 《保罗·鲁道夫设计作品集 上 佛罗里达小住宅》(美)克里斯托弗·多明(Christopher Domin),(美)约瑟夫·金(Joseph King)著;(美)以斯拉·斯托勒(Ezra Stoller)摄影 邢成敏,冯铁宏译 2006
- 《保罗·鲁道夫设计作品集 下 晚期作品》(美)罗伯托·德阿尔巴著;侯兆铭,周圆译 2005
- 《桑道夫伯爵 上》儒勒·凡尔纳著;苏文平,杨远虎译 1885
- 《桑道夫伯爵 上》(法)儒勒·凡尔纳(Jules Verne)著 2006
- 《桑道夫伯爵 下》(法)儒勒·凡尔纳(Jules Verne)著 2006
- 《法布尔昆虫记 远征的强盗 红蚂蚁 飞舞的清道夫 绿蝇 彩绘本》(法)法布尔著;潘昌礼,陈红波编译 2018
- 《公主小姐不想吃饭》(法)克里斯汀·诺曼·维拉蒙著(法)玛丽安娜·巴尔西隆绘苏迪译 2019
- 《2012年湖州蓝皮书》俞立安主编 2012
- 《希利尔讲雕塑》(美)维吉尔·莫里斯·希利尔(Virgil Mores Hillyer)著 2019
- 《我才是真的公主!》(法)克里斯汀·诺曼·维拉蒙,苏迪,(法)玛丽安娜·巴 2019
- 《空气动力学 7 飘浮的秘密》(加)克里斯·费里著 2019
- 《时间的钥匙 勇闯恐龙家园》(英)尼古拉斯·哈里斯著;(英)皮特·丹尼斯绘;张昊媛译 2019
- 《大历史 虚无与万物之间 全彩插图版》(美)大卫·克里斯蒂安,辛西娅·斯托克斯·布朗,克雷格·本杰明著;刘耀辉译 2017
- 《看不见的室内空气污染》侯立安主编 2019
- 《什么都要可以吗?》(法)克里斯汀·诺曼·维拉蒙著;(法)玛丽安娜·巴尔西隆绘;苏迪译 2019
- 《红与黑》(法)斯丹达尔著;郭宏安译 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017