作者简介:
Boisy G. Pitre
资深苹果开发专家,曾任Siri语音识别技术提供方Nuance公司Mac产品小组的资深软件工程师,参与开发了语音识别软件Dragon Dictate。MacTech杂志“Developer to Developer”月度专栏作家,曾多次在MacTech和CocoaConf等会议上发表技术演讲。现任情绪识别公司Affectiva的移动远景规划师,领导团队致力于将公司的表情分析技术迁移到移动平台。
译者简介:
袁国忠
自由译者;2000年起专事翻译,主译图书,偶译新闻稿、软文;出版译著40余部,其中包括《C++ Prime Plus中文版》《CCNA学习指南》《CCNP ROUTE学习指南》《面向模式的软件架构:模式系统》《Android应用UI设计模式》《风投的选择:谁是下一个十亿美元级公司》等,总计700余万字;专事翻译前,从事过三年化工产品分析和开发,做过两年杂志和图书编辑。
第一部分 基础知识
第1章 Swift简介2
1.1 革命性的改良2
1.2 准备工作3
1.2.1 专业工具3
1.2.2 与Swift交互3
1.3 准备出发4
1.4 开始探索Swift6
1.4.1 帮助和退出6
1.4.2 Hello World6
1.5 声明的威力7
1.6 常量9
1.7 类型10
1.7.1 检查上限和下限11
1.7.2 类型转换11
1.7.3 显式地声明类型12
1.8 字符串13
1.8.1 字符串拼接13
1.8.2 Character类型14
1.9 数学运算符14
1.9.1 表达式15
1.9.2 混用不同的数值类型15
1.9.3 数值表示16
1.10 布尔类型17
1.11 轻松显示18
1.12 使用类型别名19
1.13 使用元组将数据编组19
1.14 可选类型20
1.15 小结22
第2章 使用集合23
2.1 糖果罐23
2.1.1 数组中所有元素的类型都必须相同26
2.1.2 增长数组26
2.1.3 替换和删除值27
2.1.4 将值插入到指定位置28
2.1.5 合并数组29
2.2 字典30
2.2.1 查找条目31
2.2.2 添加条目32
2.2.3 更新条目33
2.2.4 删除条目33
2.3 数组的数组34
2.4 创建空数组和空字典36
2.4.1 空数组36
2.4.2 空字典37
2.5 迭代集合38
2.5.1 迭代数组38
2.5.2 迭代字典39
2.6 小结40
第3章 流程控制41
3.1 for循环41
3.1.1 计数41
3.1.2 包含还是不包含结束数字42
3.1.3 老式for循环43
3.1.4 简写44
3.2 游乐场45
3.3 决策48
3.3.1 if语句48
3.3.2 检查多个条件52
3.3.3 switch语句53
3.3.4 while循环56
3.3.5 检查代码58
3.3.6 提早结束循环61
3.4 小结61
第4章 编写函数和闭包62
4.1 函数62
4.1.1 使用Swift编写函数63
4.1.2 执行函数64
4.1.3 参数并非只能是数字65
4.1.4 可变参数66
4.1.5 函数是一级对象69
4.1.6 从函数返回函数71
4.1.7 嵌套函数73
4.1.8 默认参数76
4.1.9 函数名包含哪些内容77
4.1.10 清晰程度79
4.1.11 用不用外部参数名80
4.1.12 变量参数81
4.1.13 inout 参数84
4.2 闭包86
4.3 小结88
4.4 类89
第5章 使用类和结构组织代码90
5.1 对象无处不在90
5.2 Swift对象是使用类定义的91
5.2.1 定义类91
5.2.2 创建对象93
5.2.3 开门和关门93
5.2.4 锁门和开锁94
5.2.5 查看属性96
5.2.6 门应是各式各样的97
5.2.7 修改颜色99
5.3 继承99
5.3.1 创建基类100
5.3.2 创建子类103
5.3.3 实例化子类104
5.3.4 便利初始化方法109
5.3.5 枚举111
5.3.6 结构113
5.3.7 值类型和引用类型114
5.4 小结116
第6章 使用协议和扩展进行规范化117
6.1 遵循协议117
6.1.1 类还是协议117
6.1.2 协议并非只能定义方法119
6.1.3 遵循多个协议121
6.1.4 协议也可继承122
6.1.5 委托123
6.2 扩展126
6.2.1 扩展基本类型127
6.2.2 在扩展中使用闭包130
6.3 小结132
第二部分 使用Swift开发软件
第7章 使用Xcode134
7.1 Xcode简史134
7.2 创建第一个Swift项目135
7.3 Xcode界面136
7.3.1 与Xcode窗口交互138
7.3.2 运行应用程序139
7.4 开发应用程序140
7.4.1 腾出空间141
7.4.2 创建界面142
7.4.3 美化145
7.4.4 编写代码146
7.4.5 建立连接149
7.5 小结151
第8章 改进应用程序152
8.1 细节很重要152
8.1.1 显示金额152
8.1.2 再谈可选类型154
8.1.3 可选类型拆封154
8.1.4 美化155
8.1.5 另一种格式设置方法156
8.2 计算复利159
8.2.1 连接起来161
8.2.2 测试164
8.3 调试164
8.3.1 bug在哪里164
8.3.2 断点165
8.3.3 复杂的复利计算168
8.4 测试的价值169
8.4.1 单元测试169
8.4.2 编写测试169
8.4.3 如果测试未通过172
8.4.4 始终运行的测试173
8.5 小结174
第9章 Swift移动开发175
9.1 移动设备和台式机175
9.2 挑战记忆力175
9.2.1 考虑玩法176
9.2.2 设计UI176
9.3 创建项目177
9.4 创建用户界面179
9.4.1 创建按钮180
9.4.2 在模拟器中运行182
9.4.3 设置约束183
9.5 MVC 186
9.6 编写游戏代码186
9.6.1 类189
9.6.2 枚举190
9.6.3 视图对象190
9.6.4 模型对象190
9.6.5 可重写的方法191
9.6.6 游戏的方法191
9.6.7 处理输赢195
9.7 回到故事板196
9.8 开玩198
第10章 其他主题199
10.1 Swift内存管理199
10.1.1 值和引用199
10.1.2 引用计数200
10.1.3 引用循环200
10.1.4 演示引用循环201
10.1.5 编写测试代码202
10.1.6 断开引用循环204
10.1.7 闭包中的引用循环205
10.1.8 感恩207
10.2 逻辑运算符207
10.2.1 逻辑非207
10.2.2 逻辑与208
10.2.3 逻辑或208
10.3 泛型209
10.4 运算符重载210
10.5 相等和相同213
10.6 Swift脚本编程214
10.6.1 编辑脚本215
10.6.2 设置权限216
10.6.3 运行脚本216
10.6.4 工作原理216
10.7 获取帮助218
10.8 独闯江湖219
10.8.1 研究苹果公司提供的框架219
10.8.2 加入苹果开发者计划220
10.8.3 成为社区的一分子220
10.8.4 活到老学到老220
10.8.5 一路平安220
Inthisbook,notedwebdeveloperandlongtimeWaSPmemberJohnAllsopteachesallyouneedtokn...
《中国当代音乐家访谈录》内容简介:《中国当代音乐家访谈录》共分“闻香起舞”“挥洒精彩”“情动乐思”“咏声叹韵”“弄弦抚键”
《刚好遇见你》内容简介:本书从改编理论出发,囊括了影视改编理论、影视改编案例到改编实践理论,分三编,共十个章节。影视改编理
《黑客攻防技术宝典:系统实战篇(第2版)》由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等
《pcDuino开发实战》内容简介:本书共分为四篇,由浅入深地讲解pcDuino的开发使用。第一篇为基础篇,包括第1~3章,首先介绍了Ardui
《别让性格害了你》内容简介:本书教会你认识并掌握自己的性格,从而扬长避短,充分发挥自己的潜能,有利于高效开展工作、事业、经
《数字迷城:信息爆炸改变你的生活》从经济、政治和社会的角度分析和阐释了互联网技术发展及“信息大爆炸”给人类社会带来的各种机
《人间词话(高中部分)》内容简介:本书是著名学者王国维先生的文学批评著作。词话,和“诗话”一样,是中国古代文学批评的一种文
作为一本黑客方面的畅销书,《黑客之道:漏洞发掘的艺术(原书第2版)》完全从程序开发的角度讲述黑客技术,虽然篇幅不长,但内容丰
《未来银行全面风险管理》内容简介:本书从历史演进和核心要义两个纬度,对银行经营模式、巴塞尔协议、COSO企业风险管理框架进行了
图像特征提取与检索技术 本书特色 本书对基于内容的图像检索(content-based image retrieval,cbir)技术的基本原理、图像特征提取与...
《动力与秩序:中国哲学的现代追寻与转向(1895—1995)》内容简介:面对“三千年未有之大变局”,19世纪晚期,中国文化精神发生了
Nowinitsfifthedition,thebestsellingbookonUMTShasbeenupdatedtocover3GPPWCDMAandHi...
P精斩极专业PPT精髓-附赠10GB 超豪华PPT资源包 本书特色 《p精斩极:专业ppt精髓》主要针对ppt 中的逻辑结构、版式制作、配色方案、图表设...
《景观设计学(中文版)》内容简介:景观设计学的实践塑造了人类的日常生活和工作场所,它深受现代主义、生态科学和艺术的影响,不
本书阐述了关系模型背后的根本原则,这些原则也是所有数据库(后备应用软件)的应用基础,因为这些原则,今天的计算机世界才得以
《陶渊明(中华先贤人物故事汇)【中宣部2022年主题出版重点出版物】》内容简介:本书是陶渊明我国文学史上的著名诗人,也是思想文
《分布式系统与一致性》内容简介:一致性是非常重要的分布式技术。众所周知,分布式系统有很多特性,如可用性、可靠性等,这些特性
《改革的逻辑》内容简介:改革从何而来,往何处去?未来中国如何前行?中国的改革已经走过了三十多年的历程,为什么讲起改革来还是
《思维工程导论》内容简介:时代是相互孕育的。正如计算机时代引导了互联网时代的到来,互联网时代将催生人造智能时代的到来。当我