作者简介:
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
Long-awaitedrevisiontoauniqueguidethatcoversbothcompilersandinterpretersRevised,...
随着计算机硬件的发展、处理能力的增强,人机交互成为制约其发挥作用的关键因素。人与计算机的交互一直受到输入/输出之间信息不平
jQuery全面提速 本书特色 结合实例详细讲解jquery1.4.2核心库通过jquery遍历dom元素和处理文档通过jquery处理事件和添加动画效果通过j...
深入浅出数据分析 本书特色 我们生活在数据的天地里,你的工作就是淋漓尽致地发挥数据的作用。从哪里起步?米尔顿编著的《深入浅出数据分析》将为你提供帮助:利...
《电子商务大赢家:通过用户体验赢取利润》首次将经营战略和用户体验与在线设计的艺术和科学结合起来,开辟了从企业战略家和营销经
《老南京》内容简介:这是一本全面讲述老南京秦淮胜迹、古寺陵墓、市井文化、百姓生活的图书。全书从亲历亲睹的角度,分别描绘了老
无师自通AutoCAD 2014中文版机械设计-(附光盘) 本书特色 《无师自通AutoCAD 2014中文版机械设计》以AutoCAD 2014中文版为平台,...
Inthisinnovativebook,ProfessorRobertHarperoffersafreshperspectiveonthefundamenta...
《分布式系统与一致性》内容简介:一致性是非常重要的分布式技术。众所周知,分布式系统有很多特性,如可用性、可靠性等,这些特性
《程序员面试笔试宝典》除了对传统的计算机相关知识(C/C++、数据结构与算法、操作系统、计算机网络与通信、软件工程、数据库、智
《唐卡中的西藏史》内容简介:本书是国内第一本探讨唐卡艺术中蕴含的西藏历史的专著。本书通过100幅精美的唐卡,紧密结合历史人物和
《天蝎座说明书》内容简介:继“最潮血型说明书系”之后。国内顶尖级十二位星座达人又推出了这套“最潮星座说明书系”,再一次引爆
《国学基础》内容简介:本书所谓“国学”主要是指中华优秀传统文化,所谓“国学基础”主要是指中华优秀传统文化的思想基础,所谓“
Objective-C是创建MacOSX应用和iPhone应用的主要语言,优雅的面向对象编程环境与快速而普及的C语言珠联璧合,造就了它的不俗表现
《行成于思:王志纲中国走势思考录》内容简介:“行成于思毁于随”。从进入中南海汇报的新华社资深记者,转变为顶尖战略咨询机构智
Thisthree-volumesetLNCS4554-4556constitutestherefereedproceedingsofthe4thInterna...
《从“异域”到“旧疆”》内容简介:中国长期维持着大一统体制,是人类文明史上的独特现象,也是中国史研究的根本问题之一。本书考
手感設計之所以會成為日本設計的特色,就在於日本人將設計不只是視之為功能的詮釋品而已。設計代表了文化、便利生活的器具、成為
本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋
在学校、学院中,在工业、零售业与大众媒体领域中,设计这个话题,变得越来越热门。数年来在英国政府不温不火的支持中,也大大提