《移动操作系统原理与实践 基于iOS与Swift编程语言》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302481560
  • 页数:402 页
图书介绍:本书共分为12章,系统介绍了iOS开发的理论与实践。内容包括UIView与控件、iOS常用设计模式、视图控制器与导航模式、iPhone与iPad应用开发的差异、iOS分层架构设计、基于测试驱动的iOS开发等内容。

第0章 移动操作系统概论 1

0.1操作系统的原理与概念 1

0.1.1隐藏硬件细节 2

0.1.2资源管理 2

0.1.3操作系统的历史 2

0.2操作系统的分类 4

0.2.1批处理操作系统 4

0.2.2分时操作系统 4

0.2.3实时操作系统 5

0.2.4个人计算机操作系统 5

0.2.5网络操作系统 6

0.2.6分布式操作系统 6

0.2.7嵌入式操作系统 6

0.3移动操作系统 6

0.3.1移动设备的特征 6

0.3.2主要的移动操作系统 7

0.3.3移动操作系统的应用和发展 9

第1章 iOS操作系统及Swift编程语言简介 10

1.1苹果的硬件设备与操作系统 10

1.2 Swift语言概述 10

1.3 iOS概述 10

1.4开发环境及开发工具 11

1.4.1 Xcode开发工具 11

1.4.2 Xcode安装 12

1.4.3 Xcode卸载 13

1.4.4 Xcode界面 14

本章小结 15

同步练习 15

第2章 Swift语言程序设计(上) 16

2.1第一个Swift程序 16

2.1.1创建Playground 16

2.1.2创建macOS工程 20

2.2代码解释 23

2.3标识符 25

2.4关键字 25

2.5常量和变量 26

2.5.1常量 26

2.5.2变量 27

2.6运算符 27

2.6.1算术运算符 27

2.6.2算术赋值运算符 28

2.6.3关系运算符 29

2.6.4逻辑运算符 31

2.6.5位运算符 32

2.7 Swift数据类型 33

2.7.1整型 34

2.7.2浮点型 35

2.7.3布尔型 36

2.7.4元组类型 36

2.7.5数据类型转换 38

2.8可选类型 39

2.8.1可选类型概念 39

2.8.2可选类型值拆包 39

2.8.3可选绑定 40

2.9字符 41

2.9.1 Unicode编码 41

2.9.2转义符 42

2.10字符串 42

2.10.1字符串创建 43

2.10.2字符串拼接 43

2.10.3字符串插入、删除和替换 44

2.10.4字符串比较 45

2.11控制语句 46

2.11.1分支语句 46

2.11.2循环语句 53

2.11.3跳转语句 55

2.11.4值绑定 60

2.12集合 63

2.12.1数组集合 63

2.12.2字典集合 66

2.13函数 69

2.13.1定义函数 69

2.13.2函数调用 70

2.13.3函数类型 71

2.14闭包 71

2.14.1闭包的概念 71

2.14.2使用闭包表达式 73

2.14.3类型推断简化 73

2.14.4隐藏return关键字 74

2.14.5省略参数名 75

2.14.6使用尾随闭包 75

2.14.7捕获上下文中的变量和常量 76

本章 小结 78

同步练习 78

第3章 Swift语言程序设计(下) 82

3.1 Swift中的面向对象类型 82

3.1.1枚举 82

3.1.2结构体与类 84

3.2可选链 86

3.2.1可选链概念 86

3.2.2使用问号和感叹号 88

3.3访问限定 89

3.3.1访问范围 89

3.3.2访问级别 89

3.3.3使用访问级别最佳实践 92

3.4属性 95

3.4.1存储属性 95

3.4.2计算属性 96

3.4.3静态属性 98

3.5方法 103

3.5.1实例方法 103

3.5.2静态方法 103

3.6构造函数 105

3.6.1默认构造函数 105

3.6.2构造函数与存储属性初始化 107

3.6.3使用参数标签 108

3.7析构函数 109

3.8类继承 110

3.8.1继承概念 110

3.8.2构造函数继承 112

3.8.3重写 113

3.8.4使用final关键字 117

3.8.5类型检查 119

3.8.6类型转换 121

3.8.7使用AnyObject和Any类型 124

3.9扩展 125

3.9.1声明扩展 125

3.9.2扩展计算属性 126

3.9.3扩展方法 127

3.9.4扩展构造函数 128

3.10协议 130

3.10.1协议概念 130

3.10.2协议定义和遵从 130

3.10.3协议方法 131

3.10.4协议属性 133

本章小结 135

同步练习 135

第4章 iOS应用开发概述 138

4.1 HelloiOS工程 138

4.1.1创建工程 139

4.1.2 Xcode中的iOS工程模板 141

4.1.3应用剖析 143

4.2应用生命周期 145

4.3 iOS API简介 146

4.3.1 API概述 146

4.3.2如何使用API帮助 149

本章小结 151

同步练习 151

第5章 iOS应用界面技术 152

5.1界面构建技术 152

5.1.1使用故事板 152

5.1.2使用Xib文件 154

5.1.3使用代码 155

5.2 MVC模式 155

5.2.1 MVC模式概述 155

5.2.2 Cocoa Touch MVC模式 156

5.3视图控制器 156

5.3.1视图控制器种类 156

5.3.2视图控制器的生命周期 157

5.4视图与UIView 158

5.4.1 UIView继承层次结构 158

5.4.2视图分类 160

5.4.3应用界面的构建层次 161

5.5控件与动作事件 162

5.5.1按钮 162

5.5.2定义动作事件 164

5.6视图与精出口 166

5.6.1标签 167

5.6.2定义输出口 167

5.7视图与委托协议 169

5.7.1委托设计模式 169

5.7.2实例:TextField委托协议 170

5.7.3键盘的打开和关闭 173

5.7.4键盘的种类 174

5.8关闭和打开键盘通知 175

5.8.1通知机制 175

5.8.2实例:关闭和打开键盘 176

5.9 Web视图 177

5.10工具栏 181

5.11导航栏 185

本章小结 189

同步练习 189

第6章 表视图 191

6.1表视图中的概念 191

6.1.1表视图组成 191

6.1.2表视图的相关类 192

6.1.3表视图的分类 192

6.1.4单元格的组成和样式 195

6.1.5数据源协议与委托协议 196

6.2简单表视图 197

6.2.1创建简单表视图 197

6.2.2自定义单元格 203

6.3分节表视图 208

6.3.1添加索引 208

6.3.2分组 211

本章小结 212

同步练习 212

第7章 界面布局与Auto Layout技术 214

7.1 iOS界面布局UI设计模式 214

7.2静态表与表单布局 216

7.3 Auto Layout布局 220

7.3.1 Interface Builder中管理Auto Layout约束 221

7.3.2案例: Auto Layout布局 221

本章小结 228

同步练习 228

第8章 屏幕适配与Size Class技术 229

8.1 iOS屏幕的多样性 229

8.1.1 iOS屏幕介绍 229

8.1.2 iOS的3种分辨率 230

8.1.3获得iOS设备屏幕信息 231

8.2 Size Class与iOS多屏幕适配 233

8.2.1 Size Class技术 233

8.2.2 Size Class的九宫格 233

8.2.3 Size Class的四个象限 234

8.2.4 Xcode 8中使用Size Class 236

8.2.5案例:使用Size Class 238

本章小结 241

同步练习 241

第9章 应用导航模式 242

9.1导航概述 242

9.2导航的“死胡同”——模态视图 243

9.3平铺导航 252

9.3.1平铺导航概述 252

9.3.2使用资源目录管理图片 254

9.3.3屏幕滚动视图的重要属性 256

9.3.4分屏导航实现 258

9.4标签导航 261

9.4.1标签导航实例 261

9.4.2标签导航实现 262

9.5树形结构导航 265

9.5.1树形结构导航实例 266

9.5.2树形结构导航实现 267

本章小结 275

同步练习 275

第10章 多媒体开发 276

10.1音频开发 276

10.1.1音频文件简介 276

10.1.2音频API简介 277

10.1.3实例:音频播放 278

10.1.4实例:音频录制 281

10.2视频开发 287

10.2.1视频文件简介 287

10.2.2视频播放 288

本章小结 290

同步练习 290

第11章 图形图像开发 291

11.1使用图像 292

11.1.1创建图像 292

11.1.2实例:创建UIImage图像对象 293

11.1.3实例:从设备图片库选取或从照相机抓取 296

11.2使用Core Image框架 301

11.2.1 Core Image框架API 301

11.2.2滤镜 302

11.2.3实例:旧色调和高斯模糊滤镜 303

本章小结 306

同步练习 307

第12章 数据存储 308

12.1数据存储概述 308

12.1.1沙箱目录 308

12.1.2数据存储方式 309

12.2分层架构设计 309

12.2.1低耦合企业级系统架构设计 310

12.2.2 iOS分层架构设计 310

12.3实例:MyNotes应用 312

12.3.1采用纯Swift语言实现 312

12.3.2采用Swift调用Objective-C混合搭配实现 317

12.4属性列表 318

12.5使用SQLite数据库 322

12.5.1 SQLite数据类型 323

12.5.2创建数据库 323

12.5.3查询数据 325

12.5.4修改数据 329

本章小结 331

同步练习 331

第13章 网络数据交换格式 333

13.1 XML数据交换格式 334

13.1.1 XML文档结构 334

13.1.2 XML文档解析与框架性能 336

13.1.3实例:MyNotes应用XML 337

13.2 JSON数据交换格式 343

13.2.1 JSON文档结构 343

13.2.2 JSON数据编码/解码与框架性能 344

13.2.3实例:MyNotes应用JSON解码 345

本章小结 346

同步练习 346

第14章 网络通信 348

14.1基于Web Service的网络通信技术 348

14.1.1 HTTP协议 348

14.1.2 HTTPS协议 349

14.1.3苹果ATS限制 349

14.2使用URLSession 350

14.2.1 URLSession API 351

14.2.2简单会话实现GET请求 352

14.2.3默认会话实现GET请求 355

14.2.4实现POST请求 356

14.2.5下载数据 357

14.3实例:重构MyNotes案例 360

14.3.1插入方法调用 360

14.3.2修改方法调用 362

14.3.3删除方法调用 362

本章小结 365

同步练习 365

第15章 综合案例:奥运会应用设计与开发 366

15.1应用分析与设计 366

15.1.1应用概述 366

15.1.2需求分析 366

15.1.3原型设计 366

15.1.4数据库设计 366

15.1.5架构设计 368

15.2任务1:创建工程 369

15.3任务2:信息系统层与持久层开发 369

15.3.1迭代2.1:编写数据库DDL脚本 369

15.3.2迭代2.2:插入初始数据到数据库 370

15.3.3迭代2.3:数据库版本控制 370

15.3.4迭代2.4:配置持久层 371

15.3.5迭代2.5:添加SQLite3库 371

15.3.6迭代2.6:编写实体类 371

15.3.7迭代2.7:编写DAO类 373

15.3.8迭代2.8:数据库帮助类DBHelper 377

15.4任务3:业务逻辑层开发 379

15.4.1迭代3.1:编写比赛项目业务逻辑类 380

15.4.2迭代3.2:编写比赛日程业务逻辑类 380

15.5任务4:表示层开发 382

15.5.1迭代4.1:使用资源目录管理图片和图标资源 383

15.5.2迭代4.2:根据原型设计初步设计故事板 384

15.5.3迭代4.3:“首页”模块 385

15.5.4迭代4.5:“比赛项目”模块 385

15.5.5迭代4.6:“比赛日程”模块 391

15.5.6迭代4.7:“倒计时”模块表示层 393

15.5.7迭代4.8:“关于我们”模块表示层 395

15.6任务5:收工 396

15.6.1迭代5.1:添加图标 396

15.6.2迭代5.2:设计启动界面 397

本章小结 397

附录 同步练习参考答案 398