《图灵程序设计丛书 精通iOS开发 第7版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)马克著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115401113
  • 页数:571 页
图书介绍:本书系统讲解了在iOS平台上,使用苹果的Swift语言开发iPhone和iPad应用的基本概念和编程技巧。主要围绕使用Swift和Objective—C语言进行iOS开发,结合大量代码示例,教会读者利用高级iOS特性开发真实的应用。

第1章 欢迎来到iOS和Swift世界 1

1.1 关于本书 1

1.2 必备条件 1

1.2.1 选择开发者计划 2

1.2.2 必备知识 3

1.3 iOS应用程序的特点 4

1.3.1 只能运行一个应用 4

1.3.2 只能使用一个窗口 4

1.3.3 有限的访问权限 4

1.3.4 有限的响应时间 4

1.3.5 有限的屏幕尺寸 5

1.3.6 有限的系统资源 5

1.3.7 不支持垃圾回收 6

1.3.8 一些新功能 6

1.3.9 与众不同的交互方法 6

1.4 本书内容 6

1.5 新版增加内容 8

1.6 Swift和Xcode版本 8

1.7 准备好了吗 8

第2章 创建第一个项目 9

2.1 在Xcode中创建项目 9

2.1.1 Xcode项目窗口 12

2.1.2 深入了解项目 18

2.2 Interface Builder简介 19

2.2.1 文件格式 20

2.2.2 storyboard 21

2.2.3 资源库 22

2.2.4 在视图中添加标签 23

2.2.5 属性修改 27

2.3 画龙点睛——美化iPhone应用程序 28

2.4 启动界面 30

2.5 小结 31

第3章 实现基本交互 32

3.1 MVC模式 32

3.2 创建项目 33

3.3 视图控制器 34

3.3.1 输出接口和操作方法 35

3.3.2 精简视图控制器代码 37

3.3.3 设计用户界面 38

3.3.4 运行应用 47

3.3.5 布局预览 52

3.3.6 添加字体类型 54

3.4 应用程序委托 55

3.5 小结 58

第4章 更丰富的用户界面 59

4.1 满是控件的屏幕 59

4.2 动态控件、静态控件和被动控件 61

4.3 创建应用程序 62

4.4 实现图像视图和文本框 62

4.4.1 添加图像视图 62

4.4.2 调整图像视图的大小 64

4.4.3 设置视图属性 65

4.4.4 添加文本框 67

4.4.5 添加约束 71

4.4.6 创建并关联输出接口 72

4.5 关闭键盘 74

4.5.1 按下Done按钮关闭键盘 74

4.5.2 触摸背景关闭键盘 75

4.5.3 添加滑动条和标签 76

4.5.4 添加更多约束 78

4.5.5 创建并关联操作方法和输出接口 78

4.5.6 实现操作方法 78

4.6 实现开关、按钮和分段控件 79

4.6.1 添加两个带标签的开关 80

4.6.2 为开关创建并关联输出接口和操作方法 81

4.6.3 实现开关的操作方法 81

4.7 美化按钮 83

4.7.1 可拉伸图像 83

4.7.2 控件状态 84

4.7.3 为按钮创建并关联输出接口和操作方法 84

4.8 实现分段控件的操作方法 85

4.9 实现操作表单和警告视图 85

4.9.1 显示操作表单 86

4.9.2 显示警告视图 88

4.10 小结 90

第5章 自动旋转和自动调整大小 91

5.1 自动旋转机制 91

5.1.1 点、像素和Retina显示屏 92

5.1.2 控制旋转 92

5.2 选择视图支持的方向 93

5.2.1 应用级支持的方向 93

5.2.2 独立控制器的旋转支持 94

5.3 使用约束设计界面 95

5.3.1 覆盖默认的约束 98

5.3.2 与屏幕等宽的标签 99

5.4 创建自适应布局 101

5.4.1 创建Restructure应用程序 101

5.4.2 尺寸分类 105

5.4.3 尺寸分类和storyboard 106

5.4.4 创建iPhone横屏布局 108

5.4.5 创建iPad布局 112

5.5 小结 114

第6章 多视图应用 115

6.1 多视图应用的常见类型 115

6.2 多视图应用的体系结构 118

6.2.1 根控制器 119

6.2.2 内容视图剖析 119

6.3 构建View Switcher项目 120

6.3.1 重命名视图控制器 120

6.3.2 添加内容视图控制器 123

6.3.3 修改SwitchingViewController实现文件 123

6.3.4 创建拥有工具栏的视图 124

6.3.5 连接工具栏按钮和视图控制器 126

6.3.6 编写根视图控制器 127

6.3.7 实现内容视图 130

6.3.8 转场过程的动画效果 133

6.4 小结 135

第7章 分页栏与选取器 136

7.1 Pickers应用程序 136

7.2 委托和数据源 139

7.3 创建Pickers应用程序 139

7.3.1 创建视图控制器 140

7.3.2 创建分页栏控制器 140

7.3.3 首次运行 143

7.4 实现日期选取器 143

7.5 实现单滚轮选取器 146

7.5.1 构建视图 146

7.5.2 将控制器实现为数据源和委托 147

7.6 实现多滚轮选取器 150

7.6.1 声明输出接口和操作方法 150

7.6.2 构建视图 150

7.6.3 实现控制器 151

7.7 滚轮内容根据环境变化 153

7.8 使用自定义选取器创建一个简单游戏 159

7.8.1 编写控制器头文件 159

7.8.2 构建视图 159

7.8.3 实现控制器 160

7.8.4 最后的细节 163

7.9 小结 165

第8章 表视图简介 166

8.1 表视图基础 166

8.1.1 表视图和表视图单元 167

8.1.2 分组表和无格式表 167

8.2 实现一个简单表 168

8.2.1 设计视图 168

8.2.2 编写控制器 170

8.2.3 添加一个图像 174

8.2.4 表视图单元样式 175

8.2.5 设置缩进级别 177

8.2.6 处理行的选择 178

8.2.7 更改字体大小和行高 179

8.3 定制表视图单元 181

8.3.1 向表视图单元添加子视图 181

8.3.2 创建UITableViewCell子类 182

8.3.3 从nib文件加载UITableViewCell 186

8.4 分组分区和索引分区 190

8.4.1 构建视图 190

8.4.2 导入数据 191

8.4.3 实现控制器 191

8.4.4 添加索引 195

8.5 实现搜索栏 195

8.6 视图调试器 202

8.7 小结 204

第9章 导航控制器和表视图 205

9.1 导航控制器 205

9.1.1 栈的概念 205

9.1.2 控制器栈 206

9.2 简单的字体浏览器:Fonts 207

9.2.1 子控制器 207

9.2.2 Font应用的基础框架 209

9.3 创建根视图控制器 214

9.4 初始化storyboard 217

9.5 第一个子控制器:字体列表视图 218

9.5.1 设定字体列表的storyboard 219

9.5.2 对根视图控制器的转场进行设置 220

9.6 创建字体尺寸视图控制器 221

9.6.1 设计字体尺寸视图控制器的storyboard 223

9.6.2 对字体列表视图控制器的转场进行设置 223

9.7 创建字体信息视图控制器 223

9.7.1 设计字体信息视图控制器的storyboard 225

9.7.2 设置约束 226

9.7.3 调整字体列表视图控制器的转场 227

9.7.4 我的收藏字体 227

9.8 改善表视图 228

9.8.1 实现轻扫删除 228

9.8.2 实现拖动排序 230

9.9 小结 232

第10章 集合视图 233

10.1 创建DialogViewer项目 233

10.2 修补视图控制器类 234

10.3 自定义单元 234

10.4 配置视图控制器 237

10.5 内容单元 238

10.6 实现流式布局 239

10.7 分区标题视图 241

10.8 小结 242

第11章 分割视图和浮动窗口 243

11.1 创建分割视图项目 245

11.1.1 在storyboard中定义结构 247

11.1.2 使用代码定义功能 248

11.1.3 Master-Detail模板应用程序的工作原理 253

11.2 显示总统信息 255

11.3 创建浮动窗口 261

11.4 iPhone上的分割视图 266

11.4.1 iPhone 6 Plus上的分割视图 267

11.4.2 在所有iPhone上支持iPhone 6 Plus的行为 268

11.5 自定义分割视图 271

11.6 小结 273

第12章 应用设置和用户默认设置 274

12.1 设置捆绑包入门 274

12.2 应用:Bridge Control 275

12.2.1 创建项目 278

12.2.2 使用设置捆绑包 279

12.2.3 读取应用中的设置 291

12.2.4 在应用中修改默认设置 294

12.2.5 注册默认值 296

12.2.6 保证设置有效 297

12.3 切换到“设置”应用程序 299

12.4 小结 300

第13章 数据持久化基础知识 301

13.1 应用的沙盒 301

13.1.1 获取Documents目录 303

13.1.2 获取tmp目录 304

13.2 文件保存方案 304

13.2.1 单文件持久化 304

13.2.2 多文件持久化 304

13.3 属性列表 304

13.3.1 属性列表序列化 305

13.3.2 Persistence应用的第一个版本 306

13.4 对模型对象进行归档 310

13.4.1 遵循NSCoding协议 310

13.4.2 实现NSCopying协议 312

13.4.3 对数据对象进行归档和取消归档 313

13.4.4 归档应用 314

13.5 使用iOS内嵌的SQLite3 317

13.5.1 创建或打开数据库 317

13.5.2 绑定变量 319

13.5.3 SQLite3应用 319

13.6 使用Core Data 324

13.6.1 实体和托管对象 326

13.6.2 Core Data应用 328

13.7 小结 335

第14章 文档和iCloud 336

14.1 使用UI Document管理文档存储 336

14.1.1 构建TinyPix 336

14.1.2 创建TinyPixDocument类 337

14.1.3 主控制器代码 340

14.1.4 初始storyboard 346

14.1.5 创建TinyPixView类 348

14.1.6 设计storyboard 352

14.2 添加iCloud支持 356

14.2.1 创建授权文件 356

14.2.2 如何查询 357

14.2.3 保存在哪里 359

14.2.4 将首选项保存到iCloud 360

14.3 小结 362

第15章 Grand Central Dispatch和后台处理 363

15.1 Grand Central Dispatch 363

15.2 SlowWorker简介 363

15.3 线程基础知识 367

15.4 工作单元 367

15.5 GCD:底层队列 368

15.5.1 傻瓜式操作 368

15.5.2 改进Slow W orker 369

15.6 后台处理 374

15.6.1 应用生命周期 375

15.6.2 状态更改通知 375

15.6.3 创建State Lab项目 376

15.6.4 执行状态的变化 377

15.6.5 利用执行状态更改 379

15.6.6 处理不活跃状态 379

15.6.7 处理后台状态 382

15.7 小结 388

第16章 使用Core Graphics绘图 389

16.1 Quartz 2D基础概念 389

16.2 Quartz 2D绘图方法 389

16.2.1 Quartz 2D图形环境 389

16.2.2 坐标系统 390

16.2.3 指定颜色 391

16.2.4 在环境中绘制图像 393

16.2.5 绘制形状:多边形、直线和曲线 393

16.2.6 Quartz 2D样例:图案、渐变色、虚线图 394

16.3 QuartzFun应用程序 395

16.3.1 构建QuartzFun应用程序 395

16.3.2 添加Quartz 2D绘制代码 403

16.3.3 优化QuartzFun应用程序 408

16.4 小结 410

第17章 Sprite Kit游戏框架 411

17.1 基础入门 411

17.2 玩家动作 420

17.2.1 向场景中插入玩家 421

17.2.2 触摸处理:玩家移动 421

17.2.3 几何运算 422

17.2.4 轻微摆动 423

17.3 创建敌人 424

17.4 在场景中放入敌人 425

17.5 开始射击 426

17.5.1 定义物理类别 426

17.5.2 创建BulletNode类 427

17.5.3 应用物理知识 428

17.5.4 在场景中添加导弹 429

17.6 利用物理引擎攻击敌人 430

17.7 实现关卡 431

17.7.1 注意敌人 432

17.7.2 进入下一关卡 432

17.8 自定义碰撞 433

17.8.1 为SKNode添加类扩展/类别 434

17.8.2 向敌人添加自定义碰撞行为 436

17.8.3 显示玩家正确的生命值 436

17.9 粒子系统 438

17.9.1 第一个粒子 438

17.9.2 向场景中加入粒子 440

17.10 游戏结束 441

17.11 创建开始场景 443

17.12 播放音乐 445

17.13 添加力场 446

17.14 小结 449

第18章 轻点、触摸和手势 450

18.1 多点触控术语 450

18.2 响应者链 451

18.2.1 响应事件 451

18.2.2 转发事件:保持响应者链的活动状态 452

18.3 多点触控体系结构 452

18.4 4个手势通知方法 452

18.5 TouchExplorer应用 453

18.6 Swipes应用 456

18.6.1 使用触摸事件检测轻扫 457

18.6.2 自动手势识别 459

18.6.3 实现多指轻扫 460

18.7 检测多次轻点 462

18.8 检测捏合和旋转 466

18.9 自定义手势 469

18.9.1 CheckPlease应用 470

18.9.2 CheckPlease的触摸方法 471

18.10 小结 473

第19章 Core Location和Map Kit 474

19.1 位置管理器 474

19.1.1 设置精度 475

19.1.2 设置距离筛选器 475

19.1.3 获取使用定位服务的权限 475

19.1.4 启动位置管理器 475

19.1.5 合理使用位置管理器 476

19.2 位置管理器委托 476

19.2.1 获取位置更新 476

19.2.2 使用CLLocation获取纬度和经度 476

19.2.3 错误通知 478

19.3 开始构建Core Location 478

19.4 将移动路线展现在地图上 484

19.5 小结 488

第20章 陀螺仪和加速计 489

20.1 加速计物理特性 489

20.2 陀螺仪旋转特性 489

20.3 Core Motion和动作管理器 490

20.3.1 基于事件的动作 490

20.3.2 主动动作访问 494

20.3.3 陀螺仪和方位结果 496

20.3.4 加速计结果 497

20.4 检测摇动 497

20.4.1 内嵌的摇动检测 498

20.4.2 摇动与击碎 498

20.5 将加速计用作方向控制器 500

20.5.1 滚弹珠程序 501

20.5.2 实现BallView类 503

20.5.3 计算弹珠运动 506

20.6 小结 508

第21章 摄像头和照片库 509

21.1 图像选取器和UIImagePickerController 509

21.2 图像选取器控制器 509

21.3 实际测试摄像头和照片库 511

21.3.1 设计界面 512

21.3.2 实现摄像头视图控制器 515

21.4 小结 518

第22章 应用本地化 519

22.1 本地化体系结构 519

22.2 字符串文件 520

22.2.1 字符串文件的格式 520

22.2.2 本地化的字符串函数 521

22.3 现实中的iOs本地化应用 521

22.3.1 创建LocalizeMe 522

22.3.2 测试LocalizeMe 525

22.3.3 本地化项目 525

22.3.4 本地化storyboard 527

22.3.5 创建并本地化字符串文件 529

22.4 在Xcode中预览本地化 533

22.5 添加其他本地化 534

22.6 小结 535

附录Swift简介 536