作者简介:
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
《出发:我在法院当法警》内容简介:本书全面梳理了上海市司法警察队伍历年来的发展足迹,结合电台访谈节目的内容,整理编写而成。
网络英语-(中英双语) 本书特色 优秀的网上冲浪者没有固定的交流模式,如何在不同情景下选择*佳的交流方式呢 通过情景交流提升网上冲浪技能,通过案例分析提高各种在...
通用软件服装CAD 内容简介 《通用软件服装CAD》是一部计算机软件应用技术专著,本书既可用于高等学校服装专业教学,也可以指导服装设计与生产。本书详细研究探讨了...
《桃花扇》内容简介:本书写明末复社名士侯方域与秦淮名妓李香君相恋,阉党余孽阮大铖企图笼络侯方域,因李香君的反对而没能得逞,
《中国城市包容度、流动人口与城市发展研究》内容简介:城市流动人口、城市产业发展、城市发展规模以及相关的城镇化问题、农民工问
《未来银行全面风险管理》内容简介:本书从历史演进和核心要义两个纬度,对银行经营模式、巴塞尔协议、COSO企业风险管理框架进行了
《XilinxFPGA开发实用教程》系统讲述了XilinxFPGA的开发知识,包括FPGA开发简介、VerilogHDL语言基础、基于Xilinx芯片的HDL语...
《Unity虚拟现实开发实战(原书第2版)》内容简介:本书通过基于项目的实践方式,详细讲解如何使用Unity 3D游戏引擎进行虚拟现实开
InternationalcellistSaraSelkirkisapprehensiveaboutthecharityconcertinBathsfamous...
《西方哲学精神》内容简介:作者在分析、评价从古代到近代西方哲学史上著名的人物和流派的理论、观点的基础上,由中西比较的视点出
新编Cakewalk 9.0 电脑音乐合成教程 本书特色 全面掌握Cakewalk 9.0的各种功能和制作技巧;修饰、润色制作的音乐;流行歌曲的录入、古典乐曲的...
R语言与数据分析实战 本书特色 本书以R语言的“编程属性”为中心,内容涵盖R语言基础理论到实际数据分析,通过分析模型和算法等更实用的示例...
《人人都该懂的科学简史》内容简介:什么是科学与科学家?科学的未来将去往何方? 科学革命如何从无到有?为什么说蒸汽机是工业革命
《阅读理解高分6法:文体法》内容简介:阅读理解想要拿高分,文章读不透,学习再多答题技巧也是事倍功半!本书聚焦“文章如何读”“
《祖传点穴解穴疗伤秘诀》内容简介:本书主要有五大板块内容,包括点穴基本功、穴位、经络详解、点穴操作神技、解穴神技以及疗伤秘
Visual C#.NET程序设计教程(第2版) 本书特色 《Visual C#.NET程序设计教程(第2版普通高等学校计算机教育十二五规划教材)》(作者罗福强...
《百马人生,跑向东京》内容简介:从2010完成第一场马拉松,到2017年12月完成第100场马拉松,田同生“百马人生”的梦想变成了现实。
該年鑒屬日本字體設計協會(JapanTypograhyAssociation)官方出版物,本期版式及裝幀由南部俊安(ToshiyasuNanbu)設計,Grap...
《官渡杀人事件》内容简介:作品改编自马伯庸短篇小说集《三国配角演义》中的《官渡杀人事件》。建安六年,“官渡之战”主公曹操大
机器人爱好者-第1辑 本书特色 本书是美国机器人杂志《Servo》精华内容的合集。全书根据主题内容的相关性,进行了精选和重新组织,分为5章。第1章介绍了机器人的...