购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1版序

虽然我们都希望能尽快开始在Swift的世界里遨游,但是我觉得仍然有必要花一些时间对本书的写作目的和适合哪些读者进行必要说明。我不喜欢自吹自擂,也无法承担“骗子”的骂名。在知识这件严肃的事情上,我并不希望对读者产生任何误导。作为读者,您一定想要找一本适合自己的书;而作为作者,我也希望找到自己的伯乐和子期。

为什么要写这本书

中文的科技书太少了,内容也太浅了。这是国内市场尴尬的现状,真正有技术的大牛不在少数,但他们很多并不太愿意通过出书的方式来分享他们的知识,一方面原因是回报率实在太低,另一方面是出版的流程过于烦琐。这就导致了市面上充斥着一些习惯于出版业务,但是却丝毫无视质量和素质的“流氓”作者,以及他们制造的“流水线”图书。

特别是对于Swift语言来说,这个问题尤其严重。iOS开发不可谓不火热,每天都有大量的开发者涌入这个平台。而Swift的发布更使得原本高温的市场更上一层楼。但是市面上随处可见的都是各种《×××开发指南》《×××权威指南》或者《21天学会×××》式的中文资料。这些图书大致都是对官方文档的翻译,并没有什么实质的见解,可以说内容单一,索然无味。作为读者,很难理解作者写作的重心和目的(其实说实话,大部分情况下这类书的作者自己都不知道写作的重心和目的是什么),这样的“为了出版而出版”的图书可以说除了增加世界的熵以外,几乎毫无价值。

如果想要入门Swift语言,阅读Apple官方教程和文档无论从条理性和权威性来说,都是更好的选择。而中国的Cocoa开发者社区也以令人惊叹的速度完成了对文档的高品质翻译,这在其他任何国家都是让人眼红的一件事情。因此,如果您初学程序设计或者Swift语言,相比起那些“泯灭良心”(抱歉我用了这个词,希望大家不要对号入座)的“入门书籍”,我更推荐您看这份翻译后的官方文档 ,这是非常珍贵的资源。

说到这里,可以谈谈这本书的写作目的了。很多Swift的学习者,包括新接触Cocoa/Cocoa Touch开发的朋友,以及之前就使用Objective-C的朋友,所面临的一个共同的问题是,入门以后应该如何进一步提高。也许你也有过这样的感受:在阅读完Apple的教程后,觉得自己已经学会了Swift的语法和使用方式,你满怀信心地打开Xcode,新建了一个Swift项目,想写点什么,却发现实际上不是那么回事。你需要联想Optional应该在什么时候使用,你可能发现本已熟知的API突然不太确定要怎么表达,你可能遇到怎么也编译不了的问题但却不知如何改正。这些现象都非常正常,因为教程是为了展示某个语法点而写的,而几乎不涉及实际项目中应该如何使用的范例。本书的目的就是为广大已经入门了Swift的开发者提供一些参考,以期能迅速提升他们在实践中的能力。因为这部分的中级内容是我自己力所能及,有自信心能写好的,也是现在广大Swift学习者所缺乏和急需的。

这本书是什么

本书是Swift语言的知识点的集合。我自己是赴美参加了Apple的WWDC 14的,也正是在这届开发者大会上,Swift横空出世。毫不夸张地说,从Swift正式诞生的第一分钟开始,我就在学习这门语言。虽然天资驽钝,不得其所,但是在这段集中学习和实践的时间里,也还算总结了一些心得,而我把这些总结加以整理和示例,以一个个的小技巧和知识点的形式,编写成了这本书。全书共有100节,每一节都是一个相对独立的主题,涵盖了一个中高级开发人员需要知道的Swift语言的方方面面。

这本书非常适合用作官方文档的参考和补充,也会是中级开发人员很喜爱的Swift进阶读本。具体每节的内容,可以参看本书的目录。

这本书不是什么

这本书不是 Sw ift的入门教程,也 不会 通过具体的完整实例引导你用Swift开发出一个像是计算器或者记事本这样的app。这本书的目的十分纯粹,就是探索那些不太被人注意,但是又在每天的开发中可能经常用到的Swift特性。这本书并不会系统地介绍Swift的语法和特性,因为基于本书的写作目的和内容特点,采用松散的模式和非线性的组织方式会更加适合。

换言之,如果你是想找一本Swift从零开始的书,那这本书不应该是你的选择。你可以在阅读Apple文档后再考虑回来看这本书。

组织形式和推荐阅读方式

100个Tip其实不是一个小数目。本书每节的内容是相对独立的,也就是说你没有必要从头开始看,随手翻开到任何一节都是没问题的。当然,按顺序看是最理想的阅读方式,因为在写作时我特别注意了让靠前的节不涉及后面节的内容;另一方面,位置靠后的节如果涉及之前节的内容的话,我添加了相关节的交叉引用,这可以帮助迅速复习和回顾之前的内容。我始终坚信不断地重复和巩固,是真正掌握知识的唯一途径。

您可以通过目录快速地在不同节之间选择自己感兴趣或需要了解的内容。如果遇到您不感兴趣或者已经熟知的节,您也完全可以暂时先跳过去,这不会影响您对本书的阅读和理解。建议您阅读本书时开启Xcode环境,并且对每一节中的代码进行验证,这有利于您真正理解代码示例想表达的意思,也有利于记忆的形成。每一段代码示例都不太长,却经过了精心的准备,能很好地说明本节内容,希望您在每一处都能通过代码和我进行心灵上的“对话”。

代码运行环境

书中每一节基本都配有代码示例的说明。这些代码一般来说包括Objective-C或者Swift的代码。理论上来说所有代码都可以在Swift(也就是Xcode)当前版本环境下运行。当然因为Swift版本变化很快,可能部分代码需要微调或者结合一定的上下文环境才能运行,但我相信这种调整是显而易见的。如果您发现明显的代码错误和无法运行的情况,欢迎随时与我联系,我将尽快修正。

如果没有特别说明,这些代码在Playground和项目中都应该可以运行,并拥有同样表现。但是也存在一些代码只能在Playground 或者 项目文件中才能正确工作的情况,这主要是因为平台限制的因素,如果出现这种情况,我都会在相关节中特别加以说明。

勘误和反馈

Swift仍然在高速发展中,随着Swift的新特性引入及错误修正,本书难免会存在部分错误或者过时的情况。虽然我会随着Swift的发展继续不断完善和修正这本书,但是这个过程亦需要时间。

另外由于作者水平有限,书中也难免会出现一些错误或者纰漏,如果您在阅读时发现了任何问题,可以直接向我反馈,我将尽快确认和修正。

致谢与提醒

首先想感谢您购买了这本书。我其实是怀着忐忑的心情写下这些文字的,小心翼翼地希望没有触动太多人。这本书所提供的知识我想应该是超过它的售价的,但在选择前还是请您再三考虑。 eQlcUr0uDnKlhvKpLtyfu9xkIMybcmZKMjknUbmTCCwOf6D8OWgINwGZVJcHWww3

点击中间区域
呼出菜单
上一章
目录
下一章
×