《Swift 面向协议编程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈刚编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:7121301957
  • 页数:309 页
图书介绍:

第1章 搭建Swift开发环境 1

1.1 Swift介绍 1

1.1.1 Swift的前世今生 1

1.1.2 Swift与Objective-C 3

1.2 Mac OS X操作系统 3

1.3 Xcode简介和获取方法 4

1.3.1 Xcode简介 4

1.3.2 playground简介 4

1.3.3 Xcode的获取方法 5

1.4 Phone SDK简介 6

第2章 Swift基础语法 7

2.1 基础知识 7

2.1.1 命名规则 7

2.1.2 常量与变量 8

2.1.3 类型推测 9

2.1.4 注释 10

2.1.5 输出常量和变量 10

2.2 基本数据类型 12

2.2.1 整数 12

2.2.2 浮点数 12

2.2.3 布尔类型 12

2.2.4 元组类型 13

2.2.5 可选型 14

2.3 基本运算符 17

2.3.1 赋值运算符 17

2.3.2 数值运算 17

2.3.3 自增和自减运算 18

2.3.4 复合赋值 18

2.3.5 比较运算 18

2.3.6 三元运算符 19

2.3.7 逻辑运算符 19

2.3.8 范围 20

2.3.9 括号优先级 20

2.4 字符串与字符 21

2.5 集合类型 25

2.5.1 数组 26

2.5.2 集合 29

2.5.3 字典 30

2.6 控制流 32

2.6.1 for循环 32

2.6.2 while循环 33

2.6.3 if判断语句 34

2.6.4 guard判断语句 34

2.6.5 switch开关语句 35

2.7 函数 38

2.8 闭包 45

2.9 Swift三杰类、结构体、枚举 48

2.9.1 Swift三杰简介 48

2.9.2 值引用与类型引用 49

2.9.3 类 50

2.9.4 结构体 51

2.9.5 枚举 52

2.10 属性 54

2.10.1 存储属性 54

2.10.2 计算属性 55

2.10.3 属性观察器 60

2.10.4 类型属性 61

2.11 方法 62

2.12 下标 65

2.13 继承 67

2.14 构造与析构 70

2.14.1 构造器 70

2.14.2 析构器 75

2.15 类型检查与类型转换 75

2.15.1 类型检查 76

2.15.2 类型转换 77

2.16 类型嵌套 78

2.17 扩展 79

2.17.1 扩展计算属性 79

2.17.2 扩展构造器 80

2.17.3 扩展方法 81

2.17.4 扩展下标 81

2.18 协议 81

2.18.1 声明协议 82

2.18.2 遵守协议 83

2.18.3 实现协议 84

2.18.4 实现扩展 84

2.18.5 协议扩展补充 87

2.18.6 协议的继承 91

2.19 泛型 97

2.19.1 节点泛型 97

2.19.2 泛型协议 99

2.19.3 泛型对象 100

2.19.4 泛型方法 101

2.19.5 协议中的where关键字 102

2.19.6 泛型特化 103

2.20 Swift语法补充 104

2.20.1 断言 104

2.20.2 precondition 105

第3章 Swift进阶语法 107

3.1 再谈可选型 107

3.1.1 可选型 107

3.1.2 为什么要用可选型 108

3.1.3 解包可选型 109

3.1.4 可选绑定 110

3.1.5 可选链 111

3.1.6 可选型中的map和flatMap 113

3.1.7 Swift中的错误处理 114

3.1.8 隐式解包 117

3.1.9 关于可选型的思考 118

3.2 同构与异构 119

3.2.1 数据源中的同构与异构 119

3.2.2 AnyObject/Any简介 122

3.2.3 AnyObject的使用 123

3.2.4 AnyObject与id的对比 124

3.3 数组方法的探究 125

3.3.1 fiilter方法 126

3.3.2 map和flatMap方法 126

3.3.3 reduce方法 129

3.3.4 sort(sorted)方法 129

3.3.5 Side-Effect与forEach方法 130

3.3.6 contains方法 132

3.3.7 indexOf(index(of:))方法 132

3.3.8 prefiix、suffiix系方法 133

3.3.9 dropFirst、dropLast方法 134

3.3.10 Slice 135

3.3.11 RangeReplaceableCollectionType 136

3.3.12 数组的底层协议 136

3.3.13 带下标的数组遍历 138

3.3.14 Demo演示 140

3.4 Objective-C兼容性 142

3.4.1 类型桥接 142

3.4.2 OC和Swift的设计区别 144

3.5 Swift内存管理 146

3.5.1 栈和堆 146

3.5.2 值类型和引用类型 146

3.5.3 Copy-on-Write 154

3.5.4 利用引用类型的“共享” 158

3.5.5 ARC(自动引用计数) 161

3.5.6 循环引用 163

3.5.7 弱引用与无主引用 164

3.5.8 柯里化与方法参数中的闭包 166

3.5.9 @noescape与@autoclosure 169

3.5.10 静态派发和动态派发 172

3.5.11 协议类型的存储属性 180

3.5.12 静态多态与动态多态 183

3.5.13 泛型特化 185

3.5.14 小结 186

3.6 模式匹配 187

3.6.1 模式匹配简介 187

3.6.2 枚举的模式匹配 188

3.6.3 元组的模式匹配 189

3.6.4 if和guard中的模式匹配 191

3.6.5 for中的模式匹配 192

3.6.6 模式匹配中的where关键字 192

第4章 iOS开发入门 194

4.1 iOS系统初探 194

4.1.1 核心OS(Core OS)层 195

4.1.2 核心服务(Core Services)层 195

4.1.3 媒体(Media)层 195

4.1.4 Cocoa Touch层 196

4.2 MVC模式 196

4.2.1 MVC简介 196

4.2.2 iOS中的MVC 196

4.3 新建一个Swift工程 198

4.4 认识Interface Builder 202

4.5 构建计算器界面 205

4.5.1 使用对象库中的对象 206

4.5.2 使用检查器设置对象 207

4.5.3 尝试运行程序 208

4.5.4 添加约束 210

4.5.5 关联代码 213

4.5.6 完善按键 218

4.6 实现计算器逻辑 220

4.6.1 补全键盘 220

4.6.2 给键盘添加约束 222

4.6.3 实现数字显示功能 230

4.6.4 实现运算逻辑 232

4.7 修改计算器为MVC模式 234

4.8 NSNotifiication 238

4.8.1 NSNotification简介 238

4.8.2 addObserver方法 240

4.8.3 addObserverForName方法 243

4.8.4 postNotification方法 243

4.8.5 Swift 3.0中的Notifiication 244

4.9 AutoLayout快速入门 245

4.9.1 边距与距离 245

4.9.2 中心与对齐 247

4.9.3 尺寸与比例 251

4.9.4 绝对位置与挤压 252

第5章 面向协议编程 256

5.1 继承与组合 256

5.2 搭建页面 261

5.3 创建storyboard对应的子类 263

5.4 创建模型 265

5.5 串联MVC 268

5.6 MVVM 272

5.7 图解MVC与MVVM 274

5.8 MVC面向协议化 276

5.9 MVC多态优化 282

5.10 快速开发 287

5.11 组合 297

5.12 交互 303

5.13 搜索 309