• Swift进阶
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Swift进阶

46.3 6.2折 75 九品

仅1件

北京海淀
认证卖家担保交易快速发货售后保障

作者[德]Chris Eidhof;[德]Ole Begemann;[德]Airspeed Velocity

出版社电子工业出版社

出版时间2017-05

装帧平装

货号A7

上书时间2024-11-01

新起点书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [德]Chris Eidhof;[德]Ole Begemann;[德]Airspeed Velocity
  • 出版社 电子工业出版社
  • 出版时间 2017-05
  • ISBN 9787121312007
  • 定价 75.00元
  • 装帧 平装
  • 开本 其他
  • 页数 300页
【内容简介】
《Swift进阶》涵盖了关于Swift程序设计的进阶话题。如果你已经通读Apple 的《Swift编程指南》,并且想要深入探索关于这门语言的更多内容,那么这《Swift进阶》正适合你!
Swift非常适合用来进行系统编程,同时它也能被用于书写高层级的代码。我们在书中既会研究像泛型、协议这样的高层级抽象的内容,也会涉足像封装C 代码以及字符串内部实现这样的低层级话题。《Swift进阶》将帮助你进一步完善知识体系,带领你从Swift的入门或中级水平迈入Swift高级开发者的大门。
【目录】
第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
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP