新書推薦:
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
《
刻意练习不生气
》
售價:NT$
179.0
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:NT$
500.0
《
安全感是内心长出的盔甲
》
售價:NT$
305.0
《
快人一步:系统性能提高之道
》
售價:NT$
505.0
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
內容簡介:
Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,却没有C的一些兼容约束。其采用安全的编程模式和添加现代的功能使得编程更加简单、灵活和有趣。本书帮助读者充分利用Swift的先进设计、卓越的性能和简化的开发技术,使用相关例子,解决现实问题,帮助苹果开发者快速开始Swift编程之旅。
關於作者:
Jacob Schatz是一名有着超过八年开发经验并写了大量代码的高级软件开发工程师。他的代码被几百万人使用,并且他的建议经常就是大家所查找。Jacob还有个名字叫Skip Wilson,他在YouTube上有一个很有名的涵盖Swift和Python的专题频道。Jacob总是会选择了解最新的编程趋势。他有做出改变以及持续解决问题的激情。最近,他深入学习了Swift,但是他也写了大量的JavaScript,Python,Objective-C和其他语言的代码。他总是学习更多的语言并且十分享受创造新东西。他是一个热心的教师,他很乐于教学并发现新的方式去解释复杂的概念。
目錄 :
第1章通过实践练习:变量、常量、循环
11建立Swift块
111计算型属性(Getter和Setter)
112使用注释
113推断
12把变量并入字符串
13可选项:对于拆包的一个礼物
131打印你的结果
132隐式拆包可选项
14元组
15数据类型
16从Objective-C到Swift
161控制流:做出选择
162选择正确的:switch表达式
163停止:一锤定音时间
17总结
第2章收集你的数据:数组和字典
21使用数组
211你的第一个数组
212一个快速定义的数组
213使用AnyObject
214NSArrays和Swfit的Arrays的不同
22修改数组
221访问数组元素
222给数组添加元素
223从数组中删除元素
224遍历数组
225其余一些关于数组的内容
226清空数组
23使用字典
231字典的增加、删除和插入
232遍历字典
233其余一些关于字典的内容
234清空字典
235测试字典展示的值
236把它们放在一起
24总结
第3章让事情发生:函数
31定义函数
311返回类型
312多个返回值
32更多关于参数的知识
321外部参数命名
322默认参数值
323可变参数
324In-Out参数
325函数作为类型
326总结一下
33小结
第4章结构代码:枚举、结构和类
41枚举
411哪一个成员被赋值
412关联值
413原始值
42结构体
421在结构体中定义方法
422结构体总是被复制
423可变方法
424类
425初始化
426什么是引用类型
427你会使用结构体还是类
428忘掉指针语法
429属性观察者
4210类中的方法
43总结
第5章SpriteKit
51SpriteKit介绍
52创建一个游戏
521新项目页面
522创建游戏
53总结
第6章重复使用的代码:闭包
61什么是闭包
62其他语言中的闭包
63闭包是如何工作的,它们为什么这么惊人
631闭包语法
632使用上下文进行推断
633参数也有简称
634为一个自定义汽车类排序
635闭包是引用类型
636自动引用计数
637强引用循环
638尾部闭包
64总结
第7章创建下角标和高级操作符
71写你的第一个下角标
72使用高级操作符的比特和字节
721按位NOT
722按位AND
723按位OR
724按位XOR
725比特移位
726UInt8、UInt16、UInt32、Int8、Int16、Int32等
727值上溢和下溢
73自定义操作符
74创造你自己的操作符
75真实生活中的比特和字节
76总结
第8章协议
81写出你的第一个协议
811属性
812lazy变量
82Animizable和Humanizable
83委托
84协议作为类型
85集合中的协议
851协议的继承
852协议组合
853协议的一致性
854可选协议的先决条件
86可选链
861回到可选协议的先决条件
862使用Swif内建的t协议
87总结
第9章灵活使用泛型
91泛型所解决的问题
911泛型的其他使用
912协议的泛型
913Where语句
92总结
第10章使用SpriteKit的游戏
101游戏
102安装
103浏览代码
104游戏创建
1041步骤1:创造世界
1042步骤2:让事物移动
1042使用SKActions让东西移动
105总结
第11章使用Physics编写游戏
111制作一个基于物理基础的游戏
1111创建工程
1112添加资源
1113增加关卡
1114生成关卡
1115制作一个可以玩的游戏
1116创建围栏
112总结
第12章使用UIKit制作APP
121应用类型
1211Single-View应用
1212创建用户界面
1213添加约束
1214连接用户界面的元素和代码
1215编写代码
1216表格
122总结
內容試閱 :
译者序
非常荣幸能翻译这本书,成功开拓出了我职业生涯的另一个领域,让我学了十几年的英语和专业有了结合,英语没白学,卷子没白做,考试没白考。希望以后能继续发光发热。原来翻译这么辛苦,更不用说写书了,一定要细心阅读,才能不枉费作者的用心。由于Swift更新速度很快,加上翻译时间,总是很难赶上最新内容,翻译过程中还出现了一个小插曲,由于Swift从10升级到了Swift 20,原来翻译的进度暂停,坐等美女编辑给我寄来第二版,但是语法的核心内容变化不大,影响较小,大家放心阅读。相信大家触类旁通,举一反三的能力。
现在只希望Swift 30出来慢点,哈哈哈哈哈哈(为了充字数多写几个)。
对于本书的结构,作者已经在简介中进行了概括,所以大家尽快开始阅读吧。相信你们一定能在轻松的过程中,站在作者为我们构想的思维逻辑角度去掌握可爱的Swift。能阅读这本书的人,在书中作者也提到了,即使没有学过编程的都能看懂,当然如果曾经学过一门或者多门相关语言更好。作者用很浅显并且非常生动例子为我们诠释了Swift语言的特性,如果有Objective-C基础,那读起来就更加神速了。
和查阅Swift语言的苹果文档不同,在书中有大量的实例,结合Swift语法,能让你在无形中学到新知识。好像是空气和阳光,在不知不觉中汲取能量,得来全不费功夫。如果你懒得阅读Swift语法书籍,想直接上手写代码,直接在playground看到成效,让你不再陷入语法的泥沼,这本书是最好的选择。正如Linux之父说的,Talk is cheap,show me the code。作者直接给你show code,并且已经在YouTube上教会了上万人如何使用Swift。在YouTube上搜索Skip Wilson,便能看到大量的Swift视频,配合本书更能达到事半功倍的效果。你可以关注Skip Wilson(顺便提一下,推荐免费翻墙工具Lantern)。有一个简短的小女孩的视频,估计是他女儿,上面提到了作者work for Apple。让我们更想要去阅读了,果粉就这样,喜欢一切和苹果有关的。
由于计算机专业用语大家会有不同的翻译,难免有疏漏和差别,恳请读者们批评指正。译者联系方式:wangfanglyf@126com。
另外,感谢老公,在翻译期间听我唠叨,还会监督我按时完成,偶尔还会对我的翻译挑挑毛病,进行校对,顺便成功学习了Swift(奉旨感谢)。感谢父母,大恩不言谢,一切都在心中(必须感谢)。
译者
2016年9月
前言
欢迎阅读Swift2编程的第二个版本。这本书将带领你进入使用全新的、激动人心的Swift语言的iOS编程世界。本书用一种快速但全面的方式,涵盖了Swift编程语言的开始到结束。
包括以下内容:
(1)谁应该阅读这本书。
(2)为什么你要阅读这本书。
(3)从这本书中你能收获什么。
(4)什么是Swift,为什么它很棒。
(5)这本书是如何组织的。
(6)到哪里寻找示例代码。
准备好了吗?
谁应该阅读这本书
这本书适合那些已经熟练掌握一种或多种编程语言的人。你可以使用Swift作为你的第一门语言来学习这本书,但是如果你能将它和其他的语言关联起来,你会发现这将变得很容易。如果你有使用Objective-C进行iOS编程的经验,那么你应该能很快掌握Swift。这本书会经常将Swift的概念和其他那些流行的编程语言关联起来,包括 JavaScript、Python、C 和 Objective-C。
为什么你要阅读这本书
这本书将教会你Swift编程的所有方面,这样你可以尽快开始编写高质量应用。然而,它并不是一个全面详细的参考文档,而是一个完整的、容易消化的、学习Swift语言的入门文档。Swift是很多不同语言的混合,在这里你势必会学到很多新的概念,这本书将会使你成为更加优秀的开发者。Swift语言本身很健壮,同时它允许你混入Objective-C语言。
如果你正在阅读这本书,你可能已经听人们谈论过Swift的惊人特性。你已经听说过它先进的设计,它运行得有多快,它会让你的开发变得有多容易。这本书将向你展示Swift语言的所有这些特点,同时也包括我在使用它的过程中一些令人激动的发现。你将成为革命中的一部分,同样地,你将成为世界上第一批Swift开发者中的一员。虽然Swift出现只有短短的几个月,但是可以预料到它会持续存在很长一段时间。现在正是加入它的最佳时刻。这本书将会让你完全沉浸在其中,并且提供了所有你入门和深入学习所需要的所有东西。
从这本书中你能收获什么
阅读这本书将会使你成为一个正式的Swift程序员,并且使你编写出真实的、高质量的应用。你将利用Swift那些最先进的特性来编写应用,所以你的代码将会很精简、干净。在阅读完这本书以后,你可以使用Swift创建任何你想创建的应用。在你读本书时你将会学到:
(1)如何将现有的Objective-C代码结合到新的Swift应用中。
(2)如何使用类似泛型的高级特性,去编写更少的代码。
(3)如何用更快的方式创建可选项来确保你的代码不会由于不存在的值导致运行时崩溃。
(4)如何通过一些小的功能块编写闭包,这样可以写的和4个字符一样长。
(5)如何通过使用SpritKit创建一个二维横向卷轴(side-scrolling)游戏。
(6)如何通过使用SceneKit创建一个三维游戏。
(7)如何读取比特和字节,这样你就可以做一些类似阅读PDF文档的事情了。
什么是Swift
Swift是苹果公司的一门新编程语言,用来替代像C和Objective-C这样的语言,当然也能和它们一起使用。Swift的产生主要是为了在iOS上使用一种耳目一新的、更简单的语言编写应用。Swift语言和其他很多语言有关联。它是可定制的,这样你能用很多不同的方式编写Swift。例如,Swift允许你自定义方括号能做什么;而不是总是使用它们去访问数组和字典,从技术角度上说,你可以让它们做任何你想做的事。Swift允许你自己定义操作符,并且能重写已经存在的。如果你想创建一个新的能增加两次而不是一次的3个加号(如 ),那么你可以这样做。另外,你可以给你的自定义类创建自定义操作符,这意味着你将会写很少的代码,因此你的编程工作会简单一些。例如,如果你要写一个关于汽车的程序,你可以定义如果你让两个汽车实例相加会发生什么。正常情况下,你只能添加两个数字,但是在Swift中,你可以重写 操作符去做你想做的任何事情。
Swift结构良好,并且完全兼容Objective-C。所有在Objective-C中可使用的库也可以在Swift中使用。Swift允许你创建桥梁去联系其他语言。
这本书是如何组织的
这本书被分为12章,涵盖了语言本身,并且带领你创建了一些小应用:
(1)第14章涵盖了基本的语言语法,包括变量、常量、数组、字典、函数、类、枚举和结构体。这些是Swift语言的基本构造部分。
(2)第5章使用SpriteKit实现一个小游戏。
(3)第69章包括了更多的高级语言特性,包括闭包、下标访问、更高级的操作符、协议和扩展、泛型,以及在比特和字节级别上的编程。
(4)第1012章向你展示了如何通过你从前面章节中学到的知识创建一个现实世界中的应用。
享受这段旅程
我的目标是让这本书读起来很有趣,并且写这本书我也获得了很多乐趣。我想向你展示学习一门新的语言是一件多么令人激动的事情。
当一门新的语言出现时,通常并不是有很多关于它的知识产生。这本书的目的就是给你展示那些很难找到的知识,并且它是那些很难读懂的知识的一个很容易理解的版本。
随着Swfit的不断发展在网上搜索答案会变得很困难,但是我们仍然要一起搞清楚Swift。当然,Swift语言中还存在bugs,并且肯定还会持续出现bugs。
我在写这本书的时候,Swift还在测试中(并且还在持续更新),当完成这本书的时候Swift将变成1.0版本。随着时间的推移,Swift将会持续改变,促使更多的人使用它,提出bugs。这本书已经针对最新版本的Swift(截至现在书写的时间)测试过了,但是这并不意味着Swift不会改变。我希望你能享受去学习使用Swift。Swift编程之旅目录