作者简介:
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
《精通Web标准建站:标记语言、网站分析、设计理念、SEO与BI》将建站所需要掌握的各种知识分门别类、依照建站的顺序分部分排列,而
《3G技术问答》从3G空中接口的四个主流标准(TD-SCDMA、WCDMA、cdma2000和WiMAX)的内容中精选了五百多个问题,以“知识问答”的形
全国专业技术人员计算机应用能力考试考前冲刺POWERPOINT2003中文演示文稿 本书特色 紧扣考纲,瞄准考点:充分解读考纲,考点归纳精讲,明确重点难点试题详...
《逻辑思维游戏大全集》内容简介:本书选取了近千个经典有趣的逻辑思维游戏,按照思维方法分类,详细讲解了十七大类逻辑思维方法的
APDL参数化有限元分析技术及其应用实例 本书特色 本书主要适合于已掌握基本操作的ANSYS初级用户和部分中、高级用户,是一本学习APDL的技术资料,也是灵活掌...
《LinuxUnix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中
隈研吾KUMAKENGO1954年出生于日本神奈川县横滨市。隈研吾建筑都市设计事务所主持建筑师。1979年毕业于东京大学建筑系。曾担任哥伦
《JavaScript学习指南(第2版)》系统地介绍了JavaScript的基本语法、基本对象、调试工具与排错技术、事件处理机制、浏览器对象模型
内容提要:本书通过互联网行业与社会生活中的案例内容,向读者介绍了一些互联网技术和新型网站的发展,揭示了社交网站兴起的因素
《重新发现改革》内容简介:新中国成立70周年的今天,我们在经济建设上成就斐然。我们回望这70年来的风雨历程,就会发现共和国的崛
《开放创新和平台经济:IT及互联网产业商业模式创新之道(第2版)》内容简介:本书分为8章,其中,第1~4章主要以理论分析和研究为
在这本书里,建筑与写作是两条永远平行但并不互相解释的线索,全部含义都指向:通过某种建造房子的活动,一个人如何实现自觉,从
D语言是一种通用的系统和应用编程语言,它保持了生成高效代码以及直接访问操作系统API和硬件的能力。《D程序设计语言》是一本介绍
书分三部分,一是知识,是那些问而不详则枉称字型设计师的事情;二是方法论,工作室看待问题解决问题的方式;三是成功的商业委托
本书作为一本专门针对网页美工的书籍,在阐述网页设计理念的基础上,以生动的实例引导读者深入地掌握网页的美工技术,使读者在短
Haveyoueverneededtocreateaniconforsomethingandnotknownwheretostart?Howdoyougoabo...
《组织合伙人:寻找增长新曲线》内容简介:企业增长的底层逻辑是什么?企业组织架构的痛点是什么?如何找到企业的增长新曲线?如何
《美国陆军图鉴(下册)》内容简介:美国陆军是一支具备全球部署及作战能力的地面军事力量。本书以彩图图解的方式,系统介绍了美国
《心理学与沟通技巧》内容简介:本书全面系统地揭示了心理学在沟通技巧中的运用,指导读者把握好沉默的分寸,把握好说话时机、说话
《Photoshop修片,超简单!》内容简介:这是一本学习起来“超简单”的修片实用教程。本书以案例为主导,以新颖的写作形式介绍了包括