Wrox精品红皮书
从Objective-C过渡到Swift的所有知识点
Swift进阶指南
以案例指导学习
源码免费提供下载
从Objective-C过渡到Swift的所有知识点
由Apple开发的Swift可提供更简洁、错误更少的代码,从而帮助程序员构建更加快捷、稳定和安全的OS X和iOS应用程序。 Swift 2.2高级编程 面向经验丰富的程序员,在大量代码的引导下深入透彻地讲解Swift编程技术,使忙碌的专业人员能学成后迅速重返工作岗位。本书从基础知识讲起,循序渐进阐释高级技术,其间穿插介绍*佳技术实践。Swift将替代Objective-C成为开发Mac和iPhone应用程序的核心编程语言,这本精品指南将助你一帆风顺地完成该转换过程。
主要内容
◆ 讲解Swift的数据类型、运算符、函数和条件语句,指导你构建可靠的Swift程序。
◆ 讨论类、结构、枚举和属性,研究并发、循环和异步方法等。
◆ 介绍与Web服务的交互并深入探讨数据存储和Core Data栈。
◆ 演示如何使用类扩展、协议、类型转换、元组和自定义运算符来改进应用程序功能。
◆ 提供可使Swift与Objective-C、C和C++协同工作的工具,让之前的工作继续发挥作用。
第Ⅰ部分 构建Swift应用
第1章 Swift入门 3
1.1 什么是Swift 3
1.2 为什么要学习Swift 4
1.3 使用常量和变量 5
1.3.1 理解Swift数据类型 6
1.3.2 使用类型注解 12
1.3.3 使用类型推导简化类型
注解 13
1.3.4 使用类型别名简化代码 14
1.4 使用运算符 15
1.4.1 使用基本运算符 15
1.4.2 使用复合赋值运算符 16
1.4.3 使用溢出运算符 16
1.4.4 使用范围运算符 17
1.4.5 使用逻辑运算符 17
1.4.6 使用比较运算符 18
1.4.7 使用自定义运算符 19
1.5 使用控制流进行判断 19
1.5.1 使用条件语句 19
1.5.2 使用循环 22
1.5.3 控制转移语句 24
1.6 使用枚举组织类型 25
1.7 使用函数 26
1.7.1 声明函数 27
1.7.2 指定参数名称 27
1.7.3 定义默认参数 28
1.7.4 指定可变参数 28
1.7.5 指定常量、变量和输入-输出参数 29
1.7.6 函数类型 30
1.7.7 使用闭包 31
1.8 本章小结 33
第2章 编写Swift程序 35
2.1 设置Xcode 35
2.1.1 从Apple开发者门户网站下载 36
2.1.2 下载Xcode 36
2.2 试验Playground 37
2.2.1 在Xcode中使用Playground 38
2.2.2 使用Playground的简单示例 38
2.2.3 一个更令人兴奋的Playground示例 40
2.3 在Xcode中编写Swift程序 41
2.3.1 建立一个新的Swift项目 42
2.3.2 建立Swiftisms应用 45
2.4 调试Swift应用 51
2.4.1 理解断点类型 52
2.4.2 设置断点 52
2.4.3 使用调试器 53
2.5 本章小结 57
第3章 类、结构和枚举 59
3.1 使用类和结构 59
3.1.1 定义类和结构 60
3.1.2 初始化类和结构 61
3.1.3 析构类 67
3.2 使用属性 67
3.2.1 使用简单属性 67
3.2.2 使用延迟属性 69
3.2.3 使用计算属性 69
3.2.4 观察属性的变化 70
3.3 理解方法 71
3.4 理解类和结构的不同之处 73
3.5 使用枚举 75
3.6 本章小结 76
第4章 Swift中的并发 77
4.1 什么是并发 77
4.1.1 理解进程 78
4.1.2 理解线程 79
4.1.3 为什么使用并发 80
4.1.4 设计并行程序 80
4.2 iOS和OS X中的并发 81
4.2.1 理解事件循环 81
4.2.2 理解运行循环 81
4.2.3 理解异步方法 82
4.2.4 理解NSTimer 83
4.2.5 理解NSThread 85
4.2.6 理解Grand Central Dispatch 86
4.3 本章小结 88
第5章 与Web服务交互 89
5.1 理解Web服务 89
5.2 实现Web服务客户端 91
5.2.1 注册Firebase账号 91
5.2.2 布局用户界面 91
5.2.3 挂接Add Album View Controller 96
5.2.4 建立专辑模型 98
5.2.5 与Firebase通信 99
5.2.6 连接视图和数据模型 106
5.2.7 连接过渡 110
5.2.8 运行应用 111
5.3 本章小结 112
第6章 使用CoreData存储数据 113
6.1 什么是Core Data 113
6.2 Core Data栈 114
6.3 在Swift中使用Core Data 115
6.3.1 设置Birthdays应用 116
6.3.2 获取用户输入 122
6.3.3 显示数据 133
6.4 本章小结 142
第Ⅱ部分 高级Swift概念
第7章 扩展类 145
7.1 使用类扩展 145
7.1.1 向类中添加方法 146
7.1.2 向类中添加属性 148
7.1.3 在扩展中修改类 148
7.2 使用协议指定行为 149
7.2.1 采用协议 149
7.2.2 声明属性和方法 150
7.2.3 使用可选方法和属性 152
7.2.4 协议是类型 153
7.2.5 继承其他协议 156
7.2.6 在类扩展中采用协议 157
7.3 使用泛型 158
7.3.1 泛型类 159
7.3.2 使用类型约束 160
7.4 本章小结 162
第8章 高级数据类型 163
8.1 使用枚举和代数数据类型 163
8.1.1 匹配模式 164
8.1.2 通过JSON串联这些知识 166
8.2 使用可选类型 168
8.2.1 使用null值 168
8.2.2 拒绝null值 168
8.2.3 理解Swift中的null 169
8.2.4 可选值链 170
8.3 理解类型转换 171
8.4 使用元组组织值 173
8.5 自定义运算符 174
8.5.1 自定义运算符 179
8.5.2 定义优先级和结合性 179
8.5.3 和运算符有关的最后一些话 182
8.6 使用函数和闭包 183
8.7 本章小结 184
第9章 桥接Swift和Objective-C 185
9.1 Objective-C的继承者 185
9.2 引入命名空间和模块 186
9.2.1 使用命名空间组织代码 187
9.2.2 使用模块分发代码 188
9.3 Swift和Objective-C如何交互 190
9.3.1 在Objective-C中使用Swift类 190
9.3.2 在Swift中使用Objective-C 194
9.4 在Swift中使用C和C++代码 197
9.4.1 使用C标量类型 198
9.4.2 使用C指针访问内存 198
9.4.3 在Swift中使用全局常量和定义 199
9.4.4 在Swift中调用C代码 200
9.4.5 在Swift中使用C++代码 201
9.5 本章小结 202
第10章 调试Swift应用 203
10.1 调试的艺术 203
10.2 创建CircleView 204
10.2.1 绘制圆形 204
10.2.2 添加滑动条 206
10.2.3 完成项目 207
10.3 输出值 209
10.4 使用调试器 211
10.5 使用lldb检查错误 211
10.5.1 基本断点 212
10.5.2 使用lldb检查程序 213
10.5.3 移除或禁用断点 217
10.5.4 设置条件断点 217
10.5.5 设置符号断点 218
10.5.6 探索调试器的使用 219
10.6 本章小结 223
第11章 Swift运行时 225
11.1 运行时的含义 225
11.2 理解Objective-C运行时 226
11.2.1 在Objective-C中动态委派方法 227
11.2.2 消息传递 228
11.2.3 解析方法 229
11.2.4 消息和方法 233
11.3 研究Swift运行时 234
11.3.1 理解虚拟方法表 234
11.3.2 加载Swift程序 237
11.4 本章小结 241
附录A C语言概述 243