《Swift全解析 新式iOS实战开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张云波,冼树华,丁美程编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121346101
  • 页数:406 页
图书介绍:本书从基础的Swift 4语法快速入门到iOS 11开发,完整覆盖零基础新手开发App到App上架的整个流程。中级部分以小型案例为讲解对象,加强读者对各种应用场景的实战理解,以及最新的ARKit和CoreML技术应用;实战部分以大众熟悉的App为例,如流行的共享单车和头条新闻App,带大家揭开项目的神秘面纱。

第1篇 Swift 4基础语法篇 3

第1章 关于Swift 3

第2章 Swift语法基础 7

2.1 变量和常量 7

2.2 注释 8

2.3 分号 9

2.4 整数 9

2.5 浮点数 10

2.6 类型安全和类型推断 10

2.7 数值型字面量 10

2.8 数值类型转换 11

2.9 布尔类型 13

2.10 元组 13

2.11 可选类型 14

2.12 错误处理 15

2.13 断言 16

第3章 Swift基本运算符 17

3.1 术语 17

3.2 赋值运算符 17

3.3 算术运算符 18

3.4 组合赋值运算符 19

3.5 比较运算符 19

3.6 三元(目)运算符 20

3.7 空合运算符 21

3.8 区间运算符 22

3.9 逻辑运算符 23

第4章 Swift字符串和字符 26

4.1 字符串字面量 26

4.2 初始化空字符串 26

4.3 字符串可变性 27

4.4 字符串都是值类型 27

4.5 使用字符 27

4.6 连接字符串与字符 28

4.7 字符串插入值 28

4.8 Unicode 29

4.9 计算字符数量 31

4.10 访问与修改字符串 31

4.11 比较字符串 33

第5章 Swift集合类型 35

5.1 数组 35

5.2 集 39

5.3 字典 42

第6章 Swift控制流 46

6.1 for循环 46

6.1.1 for-in 47

6.1.2 for条件递增 48

6.2 while循环 48

6.2.1 while 49

6.2.2 repeat while 49

6.3 if语句 50

6.4 guard语句 51

6.5 switch语句 52

6.6 控制转移语句 54

6.6.1 continue语句 54

6.6.2 break语句 55

6.6.3 fallthrough语句 56

6.6.4 return语句 57

第7章 Swift函数 58

7.1 函数的定义和调用 58

7.2 函数的参数和返回值 59

7.2.1 多个输入参数的函数 59

7.2.2 没有参数的函数 59

7.2.3 没有返回值的函数 60

7.2.4 没有返回值的函数调用具有返回值的函数 60

7.2.5 多个返回值的函数 60

7.2.6 元组可选类型返回值的函数 61

7.3 函数的参数名称 62

7.3.1 外部参数名称 62

7.3.2 带默认值参数的函数 62

7.3.3 可变参数的函数 63

7.3.4 常量参数和变量参数 63

7.3.5 输入和输出参数 64

7.4 函数类型 65

7.4.1 使用函数类型 65

7.4.2 使用函数类型作为参数 65

7.4.3 使用函数类型作为返回值 66

7.4.4 使用函数类型作为常量 66

7.5 嵌套函数 67

第8章 Swift闭包 68

8.1 闭包的定义 68

8.2 闭包表达式 69

8.2.1 sorted函数 69

8.2.2 使用闭包表达式 70

8.2.3 根据上下文推断参数 70

8.2.4 单表达式闭包省掉返回关键字 70

8.2.5 参数名称缩写 71

8.2.6 运算符函数 71

8.3 挂尾闭包 71

8.4 闭包的值捕获 72

8.5 闭包是引用类型 73

第9章 Swift枚举 74

9.1 枚举的定义、结构和使用 74

9.2 枚举在switch语句中的使用 75

9.3 枚举关联值 75

9.4 枚举原始值 76

第10章 Swift类和结构体 77

10.1 类和结构体的对比 77

10.1.1 类和结构体的定义 78

10.1.2 类和结构体的实例 78

10.1.3 类和结构体的属性访问 78

10.2 结构体是值类型 79

10.3 类是引用类型 79

10.4 如何选择类和结构体 79

10.5 集合类型的赋值和复制 80

第11章 Swift属性 81

11.1 存储属性 81

11.1.1 普通存储属性 81

11.1.2 延迟存储属性 82

11.2 计算属性 82

11.3 属性观察器 84

11.4 全局变量和局部变量 85

11.5 静态属性 85

第12章 Swift方法 86

12.1 实例方法 86

12.1.1 使用类中定义的实例方法 86

12.1.2 使用结构体中定义的实例方法 87

12.1.3 使用枚举中定义的实例方法 88

12.2 静态方法 89

12.2.1 使用类中定义的静态方法 89

12.2.2 使用结构体中定义的静态方法 89

第13章 Swift下标 91

13.1 下标的定义 91

13.2 下标的用法 92

13.3 下标脚本 93

第14章 Swift继承 95

14.1 继承的定义 95

14.2 继承的一般用法 95

14.3 重写父类的方法和属性 96

14.3.1 重写父类的方法 96

14.3.2 重写父类的属性 97

14.4 防止父类的特性被重写 98

第15章 Swift初始化 99

15.1 初始化的定义 99

15.2 为存储属性设置初始值 99

15.3 自定义构造函数 100

15.4 默认构造函数 101

15.5 值类型的初始化 102

15.6 引用类型的初始化 103

15.6.1 指定构造函数和便利构造函数 104

15.6.2 类的代理初始化调用 104

15.6.3 两段式构造过程 105

15.6.4 构造函数的继承和重写 107

15.6.5 自动构造函数的继承 108

15.6.6 指定和便利构造器的实战 109

15.7 可失败构造函数 111

15.8 必要构造函数 116

15.9 通过闭包或方法设置属性的默认值 116

第16章 Swift析构 119

16.1 析构的原理 119

16.2 析构的实战 119

第17章 Swift错误处理 122

17.1 创建错误类型 122

17.2 抛出错误 123

17.3 捕获和处理错误 124

17.4 不处理错误 126

17.5 将错误转为可选类型 126

第18章 Swift泛型 128

18.1 泛型能解决的问题 128

18.2 泛型函数 129

18.3 类型参数 130

18.4 命名类型参数 131

18.5 泛型类型 131

18.6 泛型类型的扩展 133

18.7 类型约束 134

18.8 关联类型 136

18.9 条件语句 138

第19章 Swift扩展 140

19.1 扩展的定义和语法 140

19.2 扩展计算属性 140

19.3 扩展构造函数 141

19.4 扩展方法 143

19.5 扩展下标 144

19.6 扩展嵌套函数 144

第20章 Swift协议 146

20.1 协议的定义和语法 146

20.2 对属性的规定 147

20.3 对方法的规定 148

20.4 对变异方法的规定 149

20.5 对构造函数的规定 150

20.6 协议也是一种类型 151

20.7 代理 152

20.8 在扩展中添加协议 155

20.9 协议类型的集合 155

20.10 协议的继承 156

20.11 协议类型的组合 157

20.12 检查协议的一致性 158

第2篇 iOS 11基础开发篇 163

第21章 入门级 163

21.1 开发环境配置 163

21.2 Playground 164

21.3 第一个App 168

21.4 创建用户交互 178

第22章 初级 181

22.1 Auto Layout 181

22.2 Stack View 184

22.3 Size Class 192

22.4 Table View 197

22.4.1 原型单元格 199

22.4.2 代理模式 201

22.4.3 连接数据源 203

22.5 自定义单元格 204

22.6 单元格交互 216

22.7 单元格滑动菜单 219

22.8 导航和转场 226

第23章 中级 235

23.1 Model重构 235

23.2 静态单元格 241

23.3 导航栏、状态条和动态字体的定制技巧 248

23.4 视差动画 256

23.5 特效、动画和手势 259

23.6 JSON编/解码 271

23.7 录入新数据场景 276

23.8 真机部署 285

23.9 相册、拍照和录制视频 287

第3篇 游戏实战篇 299

第 24章 卡牌斗兽棋 299

24.1 项目介绍与分析 299

24.2 项目框架搭建 301

24.3 首页和棋盘控制器的搭建 306

24.4 相关model和走棋逻辑的实现 330

24.5 单机双人对战的实现 337

24.6 人机对战的实现 360

24.7 联网对战的实现 371

24.8 联网对战的优化 400