《Swift权威指南》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:李宁编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115368478
  • 页数:250 页
图书介绍:本书除介绍了Swift语言开发必备的的语法、语言编程技术外,主要是结合大量的案例来讲解Swift的应用,通过贴近实战的案例讲解,尽快让读者达到学以致用的目标,让读者尽快进入实战角色,以便在工作中应用好Swift语言进行开发。

第1章 未来的iOS开发语言——Swift语言介绍 1

1.1 Swift语言的前世今生 1

1.2 Swift到底是怎样的一种语言 2

1.3 Swift开发环境搭建 5

1.4 创建Swift工程(OS X和iOS平台) 6

1.5 瞧一瞧Swift到底长啥样 8

1.6 所见即所得的Playground 11

1.7 小结 13

第2章 千里之行始于足下——Swift语言基础 14

2.1 Swift语句和分号 14

2.2 变量和常量 15

2.2.1 定义和初始化 15

2.2.2 将变量和常量值插入字符串中 18

2.2.3 变量和常量的命名规则 19

2.2.4 为变量和常量指定数据类型 20

2.3 数据类型 20

2.3.1 整数类型 20

2.3.2 数制转换 22

2.3.3 浮点类型 23

2.3.4 数值的可读性 23

2.3.5 数值类型之间的转换 23

2.3.6 类型别名 24

2.3.7 布尔类型 25

2.4 字符和字符串 26

2.4.1 字符类型的常量和变量 26

2.4.2 字符串类型的常量和变量 26

2.4.3 枚举字符串中的所有字符 27

2.4.4 获取字符串中字符的Unicode编码 27

2.4.5 字符串和字符的连接 28

2.4.6 在字符串中包含特殊字符 28

2.4.7 字符串之间的比较 29

2.4.8 字符串的大小写转换 29

2.5 元组(tuples)类型 30

2.5.1 元组类型的定义 30

2.5.2 获取元组中的元素值 30

2.5.3 为元组中的元素命名 31

2.6 可选类型 31

2.7 注释 33

2.8 小结 33

第3章 万丈高楼平地起——基本操作符 34

3.1 操作符的种类 34

3.2 赋值操作符 35

3.3 数值操作符 36

3.3.1 四则运算操作符 36

3.3.2 整数求余 37

3.3.3 浮点数求余 38

3.3.4 自增和自减 38

3.3.5 一元负号和正号 39

3.4 复合赋值操作符 39

3.5 比较操作符 39

3.6 三元条件操作符 40

3.7 区间操作符 41

3.8 逻辑操作符 42

3.8.1 逻辑非 43

3.8.2 逻辑与 43

3.8.3 逻辑或 44

3.8.4 组合逻辑 44

3.8.5 使用圆括号指定优先级 45

3.9 小结 45

第4章 此字典非彼字典——数组和字典 46

4.1 数组(Array) 46

4.1.1 创建和初始化数组 47

4.1.2 创建空数组 48

4.1.3 创建固定长度的数组 49

4.1.4 数组的加法 49

4.1.5 获取和设置数组元素值 49

4.1.6 数组区间赋值 50

4.1.7 添加和删除数组元素 51

4.1.8 枚举数组中的所有元素 52

4.2 字典(Dictionary) 53

4.2.1 创建和初始化字典 53

4.2.2 创建空的字典 54

4.2.3 添加、修改和删除字典中的数据 55

4.2.4 获取字典中的值 56

4.2.5 将value转换为指定的类型值 56

4.2.6 枚举字典中的key和value 57

4.2.7 将keys和values转换为数组 58

4.3 小结 59

第5章 千变万化的程序——控制流 60

5.1 for循环 60

5.1.1 对区间操作符进行循环 61

5.1.2 枚举数组和字典中的元素 62

5.1.3 枚举字符串中的所有字符 63

5.1.4 条件增量for循环语句 63

5.2 while和do...while循环 65

5.2.1 while循环 65

5.2.2 do...while循环 66

5.3 条件语句(if和switch) 67

5.3.1 if条件语句 67

5.3.2 Switch条件语句的基本用法 67

5.3.3 fallthrough语句 69

5.3.4 使用区间操作符进行条件匹配 70

5.3.5 使用元组进行条件匹配 71

5.3.6 where子句 71

5.4 在控制流中使用的控制语句(continue和break) 72

5.5 可跳转的标签 74

5.6 小结 75

第6章 丰富多彩的功能——函数 76

6.1 函数的定义和调用 76

6.2 返回多值的函数 78

6.3 扩展参数 79

6.4 扩展参数和内部参数合二为一 80

6.5 默认参数值 81

6.6 可变参数 82

6.7 常量和变量参数 82

6.8 输入输出参数 83

6.9 函数类型 83

6.10 嵌套函数 85

6.11 小结 86

第7章 代码之美的诠释——闭包 87

7.1 闭包表达式 87

7.1.1 使用闭包表达式代替回调函数 87

7.1.2 省略参数类型 88

7.1.3 省略返回值类型 89

7.1.4 省略return语句 89

7.1.5 既然都一样,那就去掉一个 89

7.1.6 直接给跪了!连骨架都没了 90

7.2 尾随闭包 90

7.3 捕获值 92

7.4 闭包是引用类型 94

7.5 小结 94

第8章 特殊的数据——枚举类型 95

8.1 枚举类型的语法格式 95

8.2 匹配枚举成员 96

8.3 组合枚举成员 97

8.4 设置枚举成员的原始值 99

8.5 小结 100

第9章 Swift语言的核心——类和结构体 101

9.1 类和结构体基础 102

9.1.1 类和结构体的异同点 102

9.1.2 定义类和结构体 103

9.1.3 创建类和结构体实例 103

9.1.4 访问和设置类和结构体成员的值 104

9.1.5 值类型和引用类型 104

9.1.6 判断两个变量或常量引用了同一个类对象 106

9.2 属性 107

9.2.1 存储属性 107

9.2.2 惰性存储属性 108

9.2.3 可读写的计算属性 109

9.2.4 只读计算属性 111

9.2.5 属性观察器 112

9.2.6 静态属性 114

9.3 方法 116

9.3.1 实例方法 116

9.3.2 方法的局部参数名和外部参数名 117

9.3.3 为方法的第一个参数增加外部参数名 118

9.3.4 类型中的self 119

9.3.5 方法的变异(mutating) 120

9.3.6 类型方法 121

9.4 构造器 122

9.4.1 没有参数的构造器 122

9.4.2 构造器重载 122

9.4.3 构造器的内部参数和外部参数 123

9.4.4 默认构造器 124

9.4.5 结构体的逐一成员构造器 124

9.5 析构器 124

9.6 为类和结构体增加下标(Subscript)操作 125

9.7 小结 127

第10章 容易犯错的地方——类的继承 128

10.1 如何继承一个父类 128

10.2 重写方法 130

10.3 重写属性 131

10.4 重写属性观察器 132

10.5 方法被重写 133

10.6 构造器在继承中的调用规则 133

10.6.1 构造器和便利构造器 134

10.6.2 指定构造器和便利构造器是如何继承的 136

10.6.3 为什么子类必须调用父类的构造器 137

10.7 小结 140

第11章 内存管理机制——ARC 141

11.1 ARC的工作原理 141

11.2 测试ARC在内存管理中所起到的作用 142

11.3 解决循环强引用问题 143

11.3.1 什么是循环强引用 143

11.3.2 弱引用 144

11.3.3 无主引用 146

11.4 闭包引起的循环强引用 147

11.5 小结 149

第12章 让程序不抛出异常顺畅运行——可选链 150

12.1 什么是可选链 150

12.2 使用可选链访问属性 151

12.3 使用可选链调用方法 152

12.4 使用可选链调用下标 152

12.5 多层连续使用可选链 154

12.6 对方法返回值执行可选链 155

12.7 小结 156

第13章 Swift语言的魔法——类型转换 157

13.1 类型转换概述 157

13.2 类型检测 158

13.3 类型强行转换 159

13.4 AnyObject和Any的类型转换 160

13.4.1 AnyObject类型 160

13.4.2 Any类型 161

13.5 小结 163

第14章 为程序增添无限动力——扩展 164

14.1 什么是扩展 164

14.2 扩展语法 165

14.3 扩展计算型属性 165

14.4 扩展构造器 166

14.5 扩展方法 167

14.6 修改实例方法 168

14.7 扩展下标 168

14.8 扩展嵌套类型 169

14.9 小结 170

第15章 开发大型程序必备元素——协议 171

15.1 协议的语法 171

15.2 协议中的成员 172

15.2.1 属性 172

15.2.2 方法 174

15.2.3 突变方法 176

15.3 协议类型 176

15.4 委托(Delegate) 177

15.5 在扩展中添加成员 180

15.6 通过扩展补充协议声明 181

15.7 集合中的协议类型 182

15.8 继承协议 182

15.9 协议合成 183

15.10 校验协议的一致性 184

15.11 可选协议的约定 186

15.12 小结 189

第16章 增强代码的灵活性——泛型 190

16.1 泛型解决的问题 190

16.1.1 引出问题 190

16.1.2 泛型函数 192

16.2 类型参数 193

16.3 泛型类型 194

16.4 扩展泛型类型 197

16.5 类型约束 197

16.5.1 类型约束语法 198

16.5.2 类型约束行为 198

16.6 关联类型 200

16.6.1 关联类型行为 200

16.6.2 扩展一个存在的类型为一指定关联类型 202

16.7 Where语句 203

16.8 小结 205

第17章 私人定制——高级操作符 206

17.1 位操作符 206

17.1.1 按位取反操作符 207

17.1.2 按位与操作符 207

17.1.3 按位或操作符 208

17.1.4 按位异或操作符 208

17.1.5 按位左移/右移操作符 209

17.2 溢出操作符 212

17.2.1 值的上溢出 212

17.2.2 值的下溢出 213

17.2.3 除零溢出 214

17.3 优先级和结合性 214

17.4 操作符函数 215

17.4.1 二元操作符函数 215

17.4.2 前置和后置操作符函数 217

17.4.3 组合赋值操作符函数 217

17.4.4 等值操作符函数 218

17.4.5 定制操作符 219

17.4.6 自定义中置操作符的优先级和结合性 219

17.5 小结 220

第18章 做未来的iOS程序员——Swift开发iOS应用技术 221

18.1 创建iOS工程 221

18.2 iOS工程概述 223

18.2.1 应用程序代理 224

18.2.2 视图控制器 225

18.2.3 故事板 225

18.2.4 图像集合 226

18.3 运行iOS应用 226

18.4 实现一个可以浏览Web页面的程序 227

18.4.1 调整故事板的大小 227

18.4.2 在故事板中设计UI 229

18.4.3 UI与视图控制器关联 229

18.4.4 浏览网页 231

18.4.5 改变视图控制器 232

18.5 小结 233

第19章 开启游戏开发之旅——SpriteKit游戏引擎 234

19.1 创建游戏工程 234

19.2 游戏工程的结构 235

19.3 运行游戏工程 236

19.4 默认游戏工程原理解析 237

19.4.1 游戏的入口点 237

19.4.2 创建初始化 238

19.4.3 捕捉屏幕的触摸动作 239

19.5 小结 240

第20章 综合应用实战——Flappybird游戏开发 241

20.1 游戏效果演示 241

20.2 添加游戏资源 242

20.3 游戏的初始化 242

20.4 创建一对管道 246

20.5 通过触摸屏幕让小鸟跳起 248

20.6 用物理引擎进行碰撞检测 248

20.7 小结 250