发表于2024-11-05
√Swift非常适于系统编程,同时它也能被用于书写高层级的代码。
√如果你已想深入探索这门语言的奥秘,这是*一能找到的一本书。
√全球知名iOS教学网站objc,其精品图书更是惠及无数开发者。
√高层级抽象如泛型|协议,低层级如封装C代码、字符串内部实现。
在本书中,我们涵盖了Swift程序设计的一些进阶话题。如果你已经通读Apple的Swift编程指南,并且想要深入探索关于这门语言的更多内容,那么这本书正适合你!Swift非常适合用来进行系统编程,而同时它也能被用于书写高层级的代码。我们在书中既会研究像是泛型、协议这样的高层级抽象的内容,也会涉足像是封装C代码以及字符串内部实现这样的低层级话题。
王巍(onevcat),《Swifter(第2版):100个Swift2开发必备Tip》作者,来自中国的一线iOS开发者,毕业于清华大学。在校期间就开始进行iOS开发,拥有丰富的Cocoa和Objective-C开发经验,另外他也活跃于使用C#的Unity3D游戏开发界。曾经开发了《小熊推金币》,《PomoDo》等一系列优秀的iOS游戏和应用。在业余时间,王巍会在OneV'sDen撰写博客,分享他在开发中的一些心得和体会。另外,王巍还是翻译项目objc中国的组织者和管理者,为中国的Objective-C社区的发展做出了贡献。同时,他也很喜欢为开源社区贡献代码,是著名的Xcode插件VVDocumenter的作者。现在王巍旅居日本,并就职于即时通讯软件公司Line,从事iOS开发工作,致力于为全世界带来更好体验和功能的应用。
第1章介绍1
1.1本书所面向的读者2
1.2主题3
1.3术语6
1.4Swift风格指南9
第2章内建集合类型11
2.1数组11
数组和可变性11
数组和可选值13
数组变形14
数组类型25
2.2字典27
可变性28
有用的字典扩展28
Hashable要求30
2.3Set31
集合代数32
索引集合和字符集合33
在闭包中使用集合34
2.4Range34
第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
通用的PrefixIterator74
3.5专门的集合类型75
前向索引76
双向索引77
随机存取索引78
MutableCollection79
RangeReplaceableCollection80
3.6总结82
第4章可选值84
4.1哨岗值84
4.2通过枚举解决魔法数的问题86
4.3可选值概览88
iflet88
whilelet89
双重可选值92
ifvarandwhilevar94
解包后可选值的作用域95
可选链97
nil合并运算符99
可选值map101
可选值flatMap103
使用flatMap过滤nil104
可选值判等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.4inout参数和可变方法167
嵌套函数和inout169
&不意味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.4ExpressibleByStringLiteral192
7.5String的内部结构193
Character的内部组织结构199
7.6编码单元表示方式199
7.7CustomStringConvertible和
CustomDebugStringConvertible201
7.8文本输出流203
7.9字符串性能207
7.10展望211
第8章错误处理212
8.1Result类型213
8.2抛出和捕获214
8.3带有类型的错误216
8.4将错误桥接到Objective-C217
8.5错误和函数参数218
Rethrows220
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实践:封装CommonMark272
封装C代码库272
封装cmark_node类型273
更安全的接口278
11.2低层级类型概览284
11.3函数指针286
我经常会收到Swift学习者和使用者发来的电子邮件,问我应该怎么进一步提高自己的Swift水平,而在这种时候,我都会向他们推荐您手中的这本书——《Swift进阶》。
在2017年3月的Tiobe最受欢迎编程语言排行榜中,Swift首次进入前十名,已经将它的“前辈”Objective-C远远抛在脑后;而Swift3.0的开源及跨平台,也为这门语言的使用范围
和持续发展带来了前所未有的机遇和希望。
在Swift高速发展的今天,越来越多的Swift开发者不仅仅满足于完成开发任务,他们更希望能知道如何写出优秀的代码,如何优雅高效地实现功能,以及如何更灵活地使用这门语言来应对改变。想要做到这些,我们就需要做到知其然,并知其所以然。《Swift进阶》正是
一本向您介绍Swift的种种语言特性“所以然”的书籍。
本书的英文版由objc.io的创始人ChrisEidhof1,著名科技编辑和博主OleBegemann2以及一
直关注Swift的博客AirspeedVelocity3的幕后人员一同联合编写。原版书籍一经公布,就引
起了国外Swift社区的极大关注,可以说本书是国外高级Swift开发者几乎人手一本的必读物。书中深入浅出地剖析了Swift里深层次的实现细节以及设计思路。对于包括诸如内建集合类型的底层实现、泛型和协议的设计、Swift字符串的原理和使用逻辑、值类型和引用类型的适用场景和特点等话题,书中都进行了详细的分析。
本书通过这些细致和系统的解释,为我们揭示了Swift的设计哲学,让我们在学习Swift的过程中,从“身在此山”变为“高屋建瓴”。虽然在技术精进的道路上没有捷径,但若将前人的经验和总结的精华作为基础,确实能让我们事半功倍。
技术书籍总会面临版本变动和更新的问题。本书的英文原版是在2015年Swift2时发布的,其实该书的翻译工作也早在2015年年中就完成了。但是在Swift3中,Apple对这门语言进行了大幅的重塑和调正,本着对读者负责的态度,我们并没有急于推出本书的过时版本,而是在等待Swift趋于稳定后,直接以对应最新版本的形式进行发布。在能预见的未来中,Swift4及后续版本并不会发生像前序版本那样的大规模改动,因此我们认为学习和进阶Swift的时机已经成熟。《Swift进阶》一书在探讨问题时也对版本之间的差异进行了说明,让读者可以了解到技术变革的来龙去脉,并为未来的知识更新提前做好准备。
我们必须承认,在国内当前Swift的接受度和使用范围,已经与国外产生了一些差距。由此导致了Swift程序开发的平均水平也稍有落后。但我们相信这只是暂时的,随着Swift社区的日益强大,国内使用Swift的机会和应用场合,都会发生爆发式的增长。让更多的中国开发者有机会接触和了解Swift开发更深层次的内容,正是本书目的所在。
王巍
Swift进阶 下载 mobi pdf epub txt 电子书 格式 2024
Swift进阶 下载 mobi epub pdf 电子书还是需要用swift这一段时间代码再看比较合适
评分不错。。。。。。。。。。。。。。
评分赶紧学起来吧
评分有很多作者的心得总结,值得一读
评分很快,喵神的书,品质没得说。
评分书籍挺好,趁着活动买的。 空闲时间多学点。
评分对提高编程能力有很大的帮助。不错
评分大神的书,内容很不错,很值得学习
评分不错的书啊 很值得看
Swift进阶 mobi epub pdf txt 电子书 格式下载 2024