iOS开发指南:从Hello World到App Store上架(第5版)
正版保障 假一赔十 可开发票
¥
74.64
6.3折
¥
119
全新
库存3件
作者关东升
出版社人民邮电出版社
ISBN9787115450630
出版时间2016-07
装帧平装
开本16开
定价119元
货号8970619
上书时间2024-12-24
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
【关东升】 一个在IT领域摸爬滚打20年的程序员、培训师、作者,除本书外,还著有《从零开始学Swift》《Android网络游戏开发实战》《Cocos2d-x实战》系列等书。
目录
第一部分 基 础 篇
第1章 开篇综述 2
1.1 iOS概述 2
1.1.1 iOS介绍 2
1.1.2 iOS 10新特性 2
1.2 开发环境及开发工具 3
1.3 本书约定 4
1.3.1 案例代码约定 4
1.3.2 图示的约定 5
1.3.3 方法命名约定 6
1.3.4 构造函数命名约定 7
1.3.5 错误处理约定 7
第2章 第一个iOS应用程序 8
2.1 创建HelloWorld工程 8
2.1.1 通过Xcode创建工程 9
2.1.2 添加标签 11
2.1.3 运行应用 13
2.1.4 Xcode中的iOS工程模板 13
2.1.5 应用剖析 14
2.2 应用生命周期 16
2.2.1 非运行状态——应用启动场景 18
2.2.2 点击Home键——应用退出场景 18
2.2.3 挂起重新运行场景 21
2.2.4 内存清除:应用终止场景 21
2.3 设置产品属性 22
2.3.1 Xcode中的工程和目标 22
2.3.2 设置常用的产品属性 24
2.4 iOS API简介 26
2.4.1 API概述 26
2.4.2 如何使用API帮助文档 26
2.5 小结 28
第3章 Cocoa Touch框架与构建应用界面 29
3.1 视图控制器 29
3.1.1 视图控制器种类 29
3.1.2 视图的生命周期 29
3.2 视图 30
3.2.1 UIView继承层次结构 30
3.2.2 视图分类 32
3.2.3 应用界面构建层次 33
3.3 使用故事板构建界面 34
3.3.1 什么是故事板 34
3.3.2 场景和过渡 37
3.4 使用XIB文件构建界面 38
3.4.1 重构HelloWorld 38
3.4.2 XIB与故事板比较 42
3.5 使用纯代码构建界面 42
3.5.1 重构HelloWorld 42
3.5.2 视图的几个重要属性 44
3.6 三种构建界面技术讨论 46
3.6.1 所见即所得 46
3.6.2 原型驱动开发 46
3.6.3 团队协同开发 47
3.7 小结 47
第4章 UIView与视图 48
4.1 标签与按钮 48
4.1.1 Interface Builder实现 48
4.1.2 代码实现 51
4.2 事件处理 53
4.2.1 Interface Builder实现 53
4.2.2 代码实现 55
4.3 访问视图 57
4.3.1 Interface Builder实现 57
4.3.2 代码实现 58
4.4 TextField和TextView 60
4.4.1 Interface Builder实现 60
4.4.2 代码实现 62
4.4.3 键盘的打开和关闭 64
4.4.4 关闭和打开键盘的通知 64
4.4.5 键盘的种类 65
4.5 开关控件、分段控件和滑块控件 67
4.5.1 开关控件 67
4.5.2 分段控件 69
4.5.3 滑块控件 70
4.6 Web视图:WKWebView类 72
4.7 警告框和操作表 77
4.7.1 使用UIAlertController实现警告框 77
4.7.2 使用UIAlertController实现操作表 79
4.8 等待相关的控件与进度条 81
4.8.1 活动指示器ActivityIndicatorView 81
4.8.2 进度条ProgressView 83
4.9 工具栏和导航栏 86
4.9.1 工具栏 86
4.9.2 导航栏 90
4.10 小结 95
第5章 委托协议、数据源协议与高级视图 96
5.1 视图中的委托协议和数据源协议 96
5.2 选择器 96
5.2.1 日期选择器 96
5.2.2 普通选择器 101
5.2.3 数据源协议与委托协议 106
5.3 集合视图 108
5.3.1 集合视图的组成 108
5.3.2 集合视图数据源协议与委托协议 109
5.4 案例:奥运会比赛项目 109
5.4.1 创建工程 110
5.4.2 自定义集合视图单元格 110
5.4.3 添加集合视图 112
5.4.4 实现数据源协议 114
5.4.5 实现委托协议 115
5.5 小结 115
第6章 表视图 116
6.1 概述 116
6.1.1 表视图的组成 116
6.1.2 表视图的相关类 117
6.1.3 表视图分类 117
6.1.4 单元格的组成和样式 119
6.1.5 数据源协议与委托协议 121
6.2 简单表视图 122
6.2.1 实现协议方法 122
6.2.2 UIViewController根视图控制器 123
6.2.3 UITableViewController根视图控制器 129
6.3 自定义表视图单元格 133
6.3.1 Interface Builder实现 133
6.3.2 代码实现 137
6.4 添加搜索栏 138
6.5 分节表视图 143
6.5.1 添加索引 143
6.5.2 分组 146
6.6 插入和删除单元格 147
6.6.1 Interface Builder实现 149
6.6.2 代码实现 154
6.7 移动单元格 155
6.8 表视图UI设计模式 157
6.8.1 分页模式 157
6.8.2 下拉刷新模式 158
6.8.3 下拉刷新控件 159
6.9 小结 160
第7章 界面布局 161
7.1 界面布局概述 161
7.1.1 表单布局模式 161
7.1.2 列表布局模式 161
7.1.3 网格布局模式 162
7.2 iOS中各种“栏” 162
7.3 传统界面布局问题 163
7.4 Auto Layout布局技术 164
7.4.1 在Interface Builder中管理Auto Layout约束 164
7.4.2 案例:Auto Layout布局 164
7.5 静态表布局 169
7.5.1 什么是静态表 169
7.5.2 案例:iMessage应用登录界面 170
7.6 使用堆视图StackView 174
7.6.1 堆视图与布局 174
7.6.2 案例:堆视图布局 175
7.7 小结 180
第8章 屏幕适配 181
8.1 iOS 屏幕的多样性 181
8.1.1 iOS屏幕介绍 181
8.1.2 iOS的3种分辨率 182
8.1.3 获得iOS设备的屏幕信息 183
8.2 Size Class与iOS多屏幕适配 184
8.2.1 在Xcode 6和Xcode 7中使用Size Class技术 184
8.2.2 Size Class的九宫格 185
8.2.3 Size Class的四个象限 186
8.2.4 在Xcode 8中使用Size Class 187
8.2.5 案例:使用Size Class 190
8.3 资源目录与图片资源适配 192
8.4 小结 195
第9章 视图控制器与导航模式 196
9.1 概述 196
9.1.1 视图控制器的种类 196
9.1.2 导航模式 196
9.2 模态视图 197
9.2.1 Interface Builder实现 199
9.2.2 代码实现 205
9.3 平铺导航 206
9.3.1 应用场景 206
9.3.2 基于分屏导航的实现 208
9.3.3 基于电子书导航的实现 213
9.4 标签导航 219
9.4.1 应用场景 219
9.4.2 Interface Builder实现 220
9.4.3 代码实现 223
9.5 树形结构导航 225
9.5.1 应用场景 225
9.5.2 Interface Builder实现 226
9.5.3 代码实现 233
9.6 组合使用导航模式 235
9.6.1 应用场景 235
9.6.2 Interface Builder实现 236
9.6.3 代码实现 243
9.7 小结 246
第10章 iPad应用开发 247
10.1 iPad与iPhone应用开发的差异 247
10.1.1 应用场景不同 247
10.1.2 导航模式不同 247
10.1.3 API不同 247
10.2 iPad树形结构导航 248
10.2.1 “邮件”应用中的树形结构导航 248
10.2.2 Master-Detail应用程序模板 249
10.2.3 使用Interface Builder实现SplitViewSample案例 254
10.2.4 使用代码实现SplitViewSample案例 258
10.3 iPad模态视图 261
10.3.1 “邮件”应用中的模态导航 261
10.3.2 iPad模态导航相关API 262
10.3.3 使用Interface Builder实现ModalViewSample案例 264
10.3.4 使用代码实现ModalViewSample案例 268
10.4 Popover视图 271
10.4.1 Popover相关API 272
10.4.2 PopoverViewSample案例 272
10.5 分屏多任务 276
10.5.1 Slide Over多任务 276
10.5.2 分屏视图多任务 278
10.5.3 画中画多任务 280
10.6 iPad分屏多任务适配开发 280
10.6.1 分屏多任务前提条件 280
10.6.2 分屏多任务适配 281
10.7 小结 282
第11章 手势识别 283
11.1 手势种类 283
11.2 手势识别器 284
11.2.1 视图对象与手势识别 284
11.2.2 手势识别状态 285
11.2.3 实例:识别Tap手势 285
11.2.4 实例:识别Long Press手势 290
11.2.5 实例:识别Pan手势 291
11.2.6 实例:Swipe手势 293
11.2.7 实例:Rotation手势 295
11.2.8 实例:Pinch手势 297
11.2.9 实例:Screen Edge Pan手势 299
11.3 小结 301
第12章 Quartz 2D绘图技术 302
12.1 绘制技术基础 302
12.1.1 视图绘制周期 302
12.1.2 实例:填充屏幕 302
12.1.3 填充与描边 305
12.1.4 绘制图像和文本 306
12.2 Quartz图形上下文 308
12.3 Quartz路径 309
12.3.1 Quartz路径概述 309
12.3.2 实例:使用贝塞尔曲线 311
12.4 Quartz坐标变换 312
12.4.1 坐标系 312
12.4.2 2D图形的基本变换 315
12.4.3 CTM变换 317
12.4.4 仿射变换 322
12.5 小结 322
第13章 动画技术 323
13.1 视图动画 323
13.1.1 动画块 323
13.1.2 动画结束的处理 325
13.1.3 过渡动画 326
13.2 Core Animation框架 329
13.2.1 图层 329
13.2.2 隐式动画 331
13.2.3 显式动画 333
13.2.4 关键帧动画 335
13.2.5 使用路径 336
13.3 小结 338
第二部分 数据与网络通信篇
第14章 数据持久化 340
14.1 概述 340
14.1.1 沙箱目录 340
14.1.2 持久化方式 341
14.2 实例:MyNotes应用 341
14.3 属性列表 343
14.4 使用SQLite数据库 349
14.4.1 SQLite数据类型 350
14.4.2 添加SQLite3库 350
14.4.3 配置Swift环境 351
14.4.4 创建数据库 351
14.4.5 查询数据 353
14.4.6 修改数据 355
14.5 iOS 10中的Core Data技术 357
14.5.1 对象关系映射技术 357
14.5.2 添加Core Data支持 358
14.5.3 Core Data栈 359
14.6 案例:采用Core Data重构MyNotes应用 360
14.6.1 建模和生成实体 360
14.6.2 Core Data栈DAO 366
14.6.3 查询数据 367
14.6.4 修改数据 369
14.7 小结 370
第15章 数据交换格式 371
15.1 XML数据交换格式 372
15.1.1 XML文档结构 372
15.1.2 解析XML文档 373
15.2 案例:MyNotes应用读取XML数据 374
15.2.1 使用NSXML解析 376
15.2.2 使用TBXML解析 379
15.3 JSON数据交换格式 385
15.3.1 JSON文档结构 385
15.3.2 JSON数据编码/解码 386
15.4 案例:MyNotes应用JSON解码 387
15.5 小结 388
第16章 REST Web Service 389
16.1 概述 389
16.1.1 REST Web Service概念 389
16.1.2 HTTP协议 389
16.1.3 HTTPS协议 390
16.1.4 苹果ATS限制 390
16.2 使用NSURLSession 391
16.2.1 NSURLSession API 392
16.2.2 简单会话实现GET请求 393
16.2.3 默认会话实现GET请求 396
16.2.4 实现POST请求 397
16.2.5 下载数据 398
16.3 实例:使用NSURLSession重构MyNotes
案例 400
16.3.1 插入方法 401
16.3.2 修改方法 402
16.3.3 删除方法 402
16.4 使用AFNetworking框架 405
16.4.1 比较ASIHTTPRequest、AFNetworking和MKNetworkKit 405
16.4.2 安装和配置AFNetworking框架 405
16.4.3 实现GET请求 407
16.4.4 实现POST请求 408
16.4.5 下载数据 408
16.4.6 上传数据 410
16.5 使用为Swift设计的网络框架:Alamofire 412
16.5.1 安装和配置Alamofire框架 412
16.5.2 实现GET请求 413
16.5.3 实现POST请求 414
16.5.4 下载数据 414
16.5.5 上传数据 415
16.6 反馈网络信息改善用户体验 416
16.6.1 使用下拉刷新控件改善用户体验 416
16.6.2 使用活动指示器控件 419
16.6.3 使用网络活动指示器 420
16.7 小结 421
第三部分 进 阶 篇
第17章 定位服务 424
17.1 定位服务概述 424
17.1.1 定位服务编程 425
17.1.2 测试定位服务 428
17.2 管理定位服务 432
17.2.1 应用启动与停止下的定位服务管理 432
17.2.2 视图切换下的定位服务管理 432
17.2.3 应用前后台切换下的定位服务管理 433
17.2.4 设置自动暂停位置服务 436
17.2.5 后台位置服务管理 436
17.3 地理信息编码与反编码 437
17.3.1 地理信息反编码 437
17.3.2 实例:地理信息反编码 437
17.3.3 地理信息编码查询 438
17.3.4 实例:地理信息编码查询 439
17.4 小结 440
第18章 苹果地图应用 441
18.1 使用iOS苹果地图 441
18.1.1 显示地图 441
18.1.2 显示3D地图 445
18.2 添加标注 446
18.2.1 实现查询 447
18.2.2 在地图上添加标注 449
18.3 跟踪用户位置变化 450
18.4 使用程序外地图 451
18.5 小结 454
第19章 访问通讯录 455
19.1 通讯录的安全访问设置 455
19.2 使用Contacts框架读取联系人信息 456
19.2.1 查询联系人 457
19.2.2 读取单值属性 460
19.2.3 读取多值属性 461
19.2.4 读取图片属性 464
19.3 使用Contacts框架写入联系人信息 464
19.3.1 创建联系人 465
19.3.2 修改联系人 467
19.3.3 删除联系人 468
19.4 使用系统提供的界面 469
19.4.1 选择联系人 470
19.4.2 显示和修改联系人 472
19.5 小结 475
第20章 iOS 10应用扩展 476
20.1 应用扩展概述 476
20.1.1 iOS 10应用扩展种类 476
20.1.2 应用扩展工作原理 477
20.1.3 应用扩展的生命周期 478
20.2 Today应用扩展 478
20.2.1 使用Today应用扩展 479
20.2.2 实例:奥运会倒计时牌 480
20.3 开发表情包 483
20.3.1 iMessage应用 483
20.3.2 表情包 484
20.3.3 实例:开发表情包 484
20.4 Message框架 488
20.4.1 Message框架的主要API 488
20.4.2 消息布局 488
20.4.3 消息扩展界面的收缩和展开 489
20.4.4 消息应用的生命周期 490
20.4.5 消息会话 490
20.4.6 实例:高斯模糊滤镜 491
20.5 小结 494
第21章 重装上阵的iOS 10用户通知 495
21.1 用户通知概述 495
21.1.1 通知种类 495
21.1.2 通知界面 495
21.1.3 设置通知 497
21.2 开发本地通知 498
21.2.1 开发本地通知案例 498
21.2.2 请求授权 500
21.2.3 通知的创建与发送 501
21.2.4 通知接收后的处理 503
21.3 开发推送通知 503
21.3.1 推送通知机理 504
21.3.2 生成SSL证书 504
21.3.3 iOS客户端编程 513
21.3.4 在iOS设备上运行客户端 515
21.3.5 内容提供者推送通知 518
21.4 小结 519
第四部分 测试、调试和优化篇
第22章 找出程序中的bug——调试 522
22.1 Xcode调试工具 522
22.1.1 定位编译错误 522
22.1.2 查看和显示日志 523
22.1.3 设置和查看断点 524
22.1.4 调试工具 530
22.1.5 输出窗口 532
22.1.6 变量查看窗口 532
— 没有更多了 —
以下为对购买帮助不大的评价