在本书中,我们涵盖了Swift程序设计的一些进阶话题。如果你已经通读Apple的Swift编程指南,并且想要深入探索关于这门语言的更多内容,那么这本书正适合你!Swift非常适合用来进行系统编程,而同时它也能被用于书写高层级的代码。我们在书中既会研究像是泛型、协议这样的高层级抽象的内容,也会涉足像是封装C代码以及字符串内部实现这样的低层级话题。
喵神领衔iOS开发三部曲之完结篇 从低层级编程到高阶抽象完成最终修炼
译者序
我经常会收到Swift学习者和使用者发来的电子邮件,问我应该怎么进一步提高自己的Swift水平,而在这种时候,我都会向他们推荐您手中的这本书——《Swift进阶》。
在2017 年3 月的Tiobe 最受欢迎编程语言排行榜中,Swift首次进入前十名,已经将它的“前辈”Objective-C 远远抛在脑后;而Swift3.0 的开源及跨平台,也为这门语言的使用范围
和持续发展带来了前所未有的机遇和希望。
在Swift高速发展的今天,越来越多的Swift开发者不仅仅满足于完成开发任务,他们更希望能知道如何写出优秀的代码,如何优雅高效地实现功能,以及如何更灵活地使用这门语言来应对改变。想要做到这些,我们就需要做到知其然,并知其所以然。《Swift进阶》正是
一本向您介绍Swift的种种语言特性“所以然”的书籍。
本书的英文版由objc.io 的创始人Chris Eidhof1,著名科技编辑和博主Ole Begemann2以及一
直关注Swift的博客Airspeed Velocity3 的幕后人员一同联合编写。原版书籍一经公布,就引
起了国外Swift社区的极大关注,可以说本书是国外高级Swift开发者几乎人手一本的必读物。书中深入浅出地剖析了Swift里深层次的实现细节以及设计思路。对于包括诸如内建集合类型的底层实现、泛型和协议的设计、Swift字符串的原理和使用逻辑、值类型和引用类型的适用场景和特点等话题,书中都进行了详细的分析。
本书通过这些细致和系统的解释,为我们揭示了Swift的设计哲学,让我们在学习Swift的过程中,从“身在此山”变为“高屋建瓴”。虽然在技术精进的道路上没有捷径,但若将前人的经验和总结的精华作为基础,确实能让我们事半功倍。
技术书籍总会面临版本变动和更新的问题。本书的英文原版是在2015 年Swift2 时发布的,其实该书的翻译工作也早在2015 年年中就完成了。但是在Swift3 中,Apple 对这门语言进行了大幅的重塑和调正,本着对读者负责的态度,我们并没有急于推出本书的过时版本,而是在等待Swift趋于稳定后,直接以对应最新版本的形式进行发布。在能预见的未来中,Swift 4 及后续版本并不会发生像前序版本那样的大规模改动,因此我们认为学习和进阶Swift的时机已经成熟。《Swift进阶》一书在探讨问题时也对版本之间的差异进行了说明,让读者可以了解到技术变革的来龙去脉,并为未来的知识更新提前做好准备。
我们必须承认,在国内当前Swift的接受度和使用范围,已经与国外产生了一些差距。由此导致了Swift程序开发的平均水平也稍有落后。但我们相信这只是暂时的,随着Swift社区的日益强大,国内使用Swift的机会和应用场合,都会发生爆发式的增长。让更多的中国开发者有机会接触和了解Swift开发更深层次的内容,正是本书目的所在。
王巍
书本 22页关于用reduce实现map的代码。在swift 4.0 中报错。