开发宝典丛书 iOS编程实战宝典PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:曾源等编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2014
- ISBN:9787302347972
- 页数:589 页
第1篇 基础篇 2
第1章 iOS开发概述 2
1.1 本书的宗旨 2
1.2 iOS开发的特点 2
1.2.1 一次只能运行一个应用程序 3
1.2.2 一个应用程序只有一个窗口 3
1.2.3 数据访问机制 3
1.2.4 屏幕尺寸限制 3
1.2.5 响应时间限制 4
1.2.6 设备资源限制 4
1.2.7 交互限制 5
1.3 iOS的独特功能 5
1.3.1 Game Center 5
1.3.2 Storyboard 5
1.3.3 Twitter 6
1.3.4 iCloud 6
1.3.5 通知中心 6
1.3.6 Passbook 7
1.4 加入Apple开发者计划 7
1.4.1 开发者账号 7
1.4.2 加入Apple开发人员计划 8
1.4.3 创建Apple ID 9
1.5 下载和安装Xcode 11
1.5.1 下载Xcode 11
1.5.2 安装Xcode 12
1.6 小结 14
1.7 习题 15
第2章 介绍Objective-C和iOS SDK 16
2.1 介绍Obiective-C 16
2.1.1 类定义 17
2.1.2 类实现 18
2.1.3 多参数的方法 18
2.1.4 属性 19
2.1.5 类别 20
2.2 Objective-C的重要部分 21
2.2.1 协议 21
2.2.2 委托 22
2.2.3 创建第一个工程 23
2.2.4 简单介绍工程界面 25
2.2.5 通过程序体会协议和委托 26
2.2.6 内存管理 30
2.2.7 自动引用计数 32
2.3 介绍iOS SDK 32
2.3.1 Xcode 32
2.3.2 Instruments 32
2.3.3 Simulator 33
2.3.4 Interface Builder 34
2.4 iOS核心部分 34
2.4.1 Cocoa Touch(可触摸层) 35
2.4.2 Media(媒体层) 37
2.4.3 Core Services(核心服务层) 38
2.4.4 Core OS(核心操作系统层) 38
2.5 小结 39
2.6 习题 39
第3章 iOS开发起航 40
3.1 创建项目HelloWorld 40
3.1.1 应用程序模板 40
3.1.2 新建iPhone工程 44
3.1.3 详解Xcode的各个部分 46
3.1.4 详解项目的各个部分 50
3.2 解密Interface Builder 51
3.2.1 掀开Nib神秘的面纱 52
3.2.2 详解Interface Builder的组成部分 52
3.2.3 在视图中添加第一个UI控件 55
3.2.4 设置UI控件的属性 55
3.2.5 变量的关联 57
3.2.6 通过代码设置属性 59
3.3 为应用添加图标 61
3.3.1 iPhone图标介绍 61
3.3.2 iPad图标介绍 62
3.3.3 图标的命名和设置 62
3.3.4 程序名称的设置 64
3.4 小结 66
3.5 习题 66
第2篇 UI开发篇 68
第4章 用户交互基础 68
4.1 介绍view Controller(视图控制器) 68
4.1.1 MVC模型 68
4.1.2 View Controller(视图控制器) 70
4.1.3 生命周期 72
4.2 使用View Controller编写计算器 73
4.2.1 创建项目PlusMinus 74
4.2.2 Button(按钮) 75
4.2.3 Text Field(输入框) 77
4.2.4 添加Outlet(连接) 80
4.2.5 添加Action(动作) 81
4.2.6 设计用户交互 84
4.2.7 编译并运行程序 85
4.3 优化交互体验 86
4.3.1 键盘关闭 86
4.3.2 数字键盘 88
4.4 详解Delegate(委托) 91
4.4.1 UITextField委托方法 91
4.4.2 实现委托功能 92
4.5 小结 94
4.6 习题 95
第5章 掌握更多交互控件 96
5.1 使用Image View(图像视图)和Alert View(警告框) 96
5.1.1 Image View控件 97
5.1.2 UIAlertView控件 100
5.1.3 创建项目ImageSwitch 100
5.1.4 设置界面朝向 103
5.1.5 设置UIImageView属性 106
5.1.6 数组的概念 108
5.1.7 切换图片 109
5.1.8 添加UIAlertView 111
5.2 使用Slider(滑块)和Progress View(进度条) 113
5.2.1 添加UISlider和UIProgressView 113
5.2.2 设置控件属性 114
5.2.3 创建Action(动作)和Outlet(连接) 116
5.2.4 实现Action方法 117
5.2.5 添加定时器控制 120
5.3 使用Switch(开关)和Segment(分段控件) 122
5.3.1 Navigation Bar(导航条)的样式 122
5.3.2 添加UISwitch并实现Action方法 124
5.3.3 添加UISegrnent并实现Action方法 127
5.3.4 添加“台灯” 131
5.4 小结 132
5.5 习题 132
第6章 多视图应用 134
6.1 什么是多视图 134
6.2 多视图应用的结构 135
6.2.1 导航和标签的多视图模型 135
6.2.2 根视图(Root View)和内容视图(ContentView) 137
6.3 创建多视图应用 138
6.3.1 创建工程 139
6.3.2 创建视图控制器和Nib文件 140
6.3.3 修改应用委托类(App Delegate) 141
6.3.4 实现根视图界面与操作 143
6.3.5 创建子视图 145
6.3.6 实现视图的切换 147
6.4 委托 150
6.4.1 仓建protocal类 150
6.4.2 代理函数 152
6.4.3 实现委托功能 153
6.5 动画效果 157
6.5.1 添加视图转换动画特效 157
6.5.2 更多效果 159
6.6 小结 163
6.7 习题 163
第7章 Tab Bar Controller和Picker View 164
7.1 Tab Bar Controller 164
7.1.1 UITabBarController组成部分 164
7.1.2 UITabBarController使用方式 167
7.2 创建项目并配置TabBarController 167
7.2.1 创建视图控制器 169
7.2.2 创建根视图控制器 169
7.3 使用日期选择器(UIDatePicker) 172
7.3.1 选择器在iPhone中的使用 172
7.3.2 实现日期选择器 173
7.4 使用单组件选择器(Single Component Picker) 176
7.4.1 创建Outlet和Action 176
7.4.2 实现数据源和委托 177
7.4.3 弹出选中的数据 178
7.5 多组件选择器(Multi Component Picker) 180
7.5.1 NSDictionary(字典) 180
7.5.2 定义Outlet和Action 181
7.5.3 选择器数据 182
7.5.4 实现选择器的数据显示 183
7.6 小结 187
7.7 习题 188
第8章 表视图 189
8.1 介绍UITableView(表视图) 190
8.1.1 UITableView(表视图) 190
8.1.2 分组(Grouped)表和无格式(Plain)表 191
8.1.3 单元格 192
8.2 实现一个简单的表视图 193
8.2.1 设计视图 193
8.2.2 编写视图控制器 195
8.2.3 在表单元中添加图片 199
8.2.4 介绍表单元的几种样式 201
8.2.5 处理行选择事件 204
8.2.6 调整表单元中文字的字体和位置 205
8.2.7 设置表单元的高度 206
8.3 实现自定义的表单元 208
8.3.1 在表单元中添加子视图 208
8.3.2 创建UITableViewCell的子类 213
8.3.3 使用Nib实现自定义的表单元 215
8.3.4 加载自定义单元格 220
8.4 实现支持索引的分组表 222
8.4.1 创建视图 222
8.4.2 导入数据 222
8.4.3 实现视图控制器 223
8.4.4 为表视图添加索引支持 226
8.5 小结 227
8.6 习题 227
第9章 Navigation Controller(导航控制器) 229
9.1 介绍导航控制器 229
9.1.1 栈的概念 230
9.1.2 视图控制器栈 231
9.2 创建导航控制器应用 232
9.2.1 应用结构 232
9.2.2 添加导航控制器 234
9.2.3 根视图(Root View) 235
9.2.4 内容视图(Content View) 237
9.3 更复杂的表视图 240
9.3.1 第1个子视图:有详细内容的表视图 240
9.3.2 第2个子视图:可选择单元格的表视图 245
9.3.3 第3个子视图:可移动单元格的表视图 249
9.3.4 第4个子视图:可删除单元格的表视图 254
9.4 小结 260
9.5 习题 261
第3篇 高级篇 264
第10章 Storyboard 264
10.1 支持Storyboard的程序 265
10.1.1 创建新工程 265
10.1.2 程序结构 266
10.2 导航控制器 269
10.2.1 在Storyboard中添加导航控制器 269
10.2.2 原型单元格和静态单元格 273
10.3 表视图 274
10.3.1 编辑表视图 274
10.3.2 编辑表单元原型 275
10.4 视图的切换 276
10.4.1 创建节日列表视图 276
10.4.2 创建出行视图 278
10.4.3 在Storyboard 中建立视图之间的转换 279
10.5 小结 281
10.6 习题 281
第11章 应用设置和用户默认项 283
11.1 什么是设置束(Setting Bundle) 284
11.2 创建项目 284
11.2.1 创建工程 285
11.2.2 创建设置束 285
11.2.3 使用设置束 287
11.3 用户默认设置(NSUserDefaults) 293
11.3.1 读取默认设置值 294
11.3.2 修改默认设置值 297
11.4 小结 301
11.5 习题 302
第12章 iOS数据存储基础 303
12.1 理解应用沙盒 303
12.1.1 获取Documents路径 304
12.1.2 获取临时路径 305
12.1.3 获取Library路径 305
12.2 文件存储策略 306
12.2.1 iOS 5本地存储限制 306
12.2.2 单文件存储策略 306
12.2.3 多文件存储策略 307
12.3 使用属性列表 307
12.3.1 创建PropertyList程序 307
12.3.2 数据显示与保存 310
12.3.3 数据的读取 313
12.4 类对象的序列化 317
12.4.1 NSCoding协议和NSCoder抽象类 317
12.4.2 归档的概念与NSCopying协议 319
12.4.3 数据的归档操作 320
12.4.4 创建Archiving应用 321
12.4.5 修改程序界面和输出口 324
12.4.6 实现数据归档 325
12.5 使用SQLite 3 329
12.5.1 打开数据库 330
12.5.2 执行SQL语句 330
12.5.3 使用绑定变量 332
12.5.4 创建支持SQLite 3的应用 333
12.5.5 使用SQLite 3检索数据表 338
12.6 使用Core Data 340
12.6.1 实体(Entity)和托管对象(Managed Object) 340
12.6.2 概念深入 342
12.6.3 如何设计数据模型 346
12.6.4 支持Cora Data的应用 348
12.6.5 增加数据删除 359
12.7 小结 362
12.8 习题 362
第13章 GCD与后台处理进程 363
13.1 进程与线程的概念 363
13.2 什么是GCD 364
13.2.1 Block特性 364
13.2.2 Dispatch object和Dispatch queue的概念 365
13.2.3 创建应用GCDSupport 366
13.3 线程(NSThread) 370
13.3.1 创建线程 371
13.3.2 同步与加锁 371
13.3.3 与主线程交互 373
13.4 后台处理进程(Background Processing) 374
13.4.1 应用的生命周期 374
13.4.2 应用状态改变时对应的接口 375
13.4.3 详细介绍应用的各种运行状态 377
13.4.4 处理Inactive状念 378
13.4.5 处理Background状态 379
13.5 创建LocalAlert程序 381
13.5.1 新建工程 382
13.5.2 开启定时器和本地提醒 382
13.5.3 处理Inactive和后台状态 386
13.5.4 运行程序进行后台测试 386
13.6 小结 387
13.7 习题 387
第14章 触屏和手势 389
14.1 多触摸(Multitouch)的概念 390
14.2 响应者链 390
14.2.1 响应者对象 391
14.2.2 转发事件,保持响应的传递连续性 391
14.3 多触摸的架构 392
14.4 4个触摸通知方法 392
14.4.1 触摸开始 393
14.4.2 触摸滑动 394
14.4.3 触摸结束 394
14.4.4 触摸中断 395
14.5 TouchDect应用程序 395
14.5.1 创建程序 395
14.5.2 实现触摸检测 397
14.5.3 运行程序 398
14.6 手势识别 400
14.6.1 UIGestureRecognizer类 400
14.6.2 轻击手势检测 400
14.6.3 轻扫手势检测 404
14.6.4 捏合手势检测 408
14.7 自定义手势 413
14.7.1 创建MyGesture应用程序 413
14.7.2 介绍Quartz 421
14.7.3 Quartz基本概念 422
14.7.4 描绘轨迹 422
14.8 小结 425
14.9 习题 425
第15章 Core Location定位 427
15.1 Core Location工作原理 427
15.2 位置管理器(Location Manager) 428
15.2.1 设置所需的精度 429
15.2.2 设置距离筛选器 429
15.2.3 启动位置管理器 430
15.3 位置管理器委托 430
15.3.1 获取位置更新 430
15.3.2 使用CLLocation获取位置信息 430
15.3.3 错误通知 432
15.4 使用Core Location 433
15.5 小结 439
15.6 习题 439
第16章 重力感应和加速计 440
16.1 加速计的物理原理 441
16.2 获取朝向 442
16.3 访问加速计 443
16.3.1 UIAcceleration加速计 444
16.3.2 实现accelerometer:didAccelerate:方法 446
16.4 摇动换肤 448
16.4.1 创建ChangeSkin程序 449
16.4.2 实现换肤功能 450
16.5 滚球小游戏 451
16.5.1 实现主视图控制器 451
16.5.2 编写BallView 452
16.6 了解CoreMotion 458
16.7 小结 460
16.8 习题 460
第17章 摄像头和相册 461
17.1 图像选取器 462
17.1.1 UIImagePickerController 462
17.1.2 启动UIImagePickerController 463
17.2 实现图像选取器控制器委托 464
17.3 实际测试照相机和库 465
17.3.1 创建MyCamera应用程序 465
17.3.2 实现拍照 466
17.3.3 真机上测试本程序 469
17.3.4 打开iPhone相册 471
17.4 小结 474
17.5 习题 474
第18章 多媒体:音频和视频 475
18.1 iPhone音频 475
18.1.1 短音频播放技术 475
18.1.2 长音频播放技术 476
18.1.3 队列式播放技术 477
18.1.4 跨平台3D播放技术 478
18.2 创建MusicPlayer程序 478
18.2.1 开发程序框架 479
18.2.2 使用System Sound Services 482
18.2.3 使用AVAudioPlayer 485
18.3 录音 493
18.3.1 如何录音 493
18.3.2 补充MusicPlayer程序 494
18.3.3 实现AVAudioRecorderDelegate代理方法 498
18.3.4 播放录音 499
18.3.5 测试录音功能 499
18.4 iPhone视频 500
18.4.1 多媒体播放器类 500
18.4.2 MPMoviePlayerController的使用 501
18.5 创建VideoPlayer程序 503
18.5.1 添加设置束 503
18.5.2 读取播放器属性 506
18.5.3 实现视频播放 509
18.5.4 处理状态变化 512
18.5.5 运行程序播放视频 515
18.6 小结 517
18.7 习题 517
第19章 本地化 518
19.1 本地化体系结构 519
19.2 本地化原则 519
19.3 使用字符串文件 520
19.4 创建Localize应用程序 521
19.4.1 本地化字符串 522
19.4.2 查看当前区域设置 527
19.4.3 本地化nib文件 531
19.4.4 本地化图像 534
19.4.5 本地化应用程序图标与名称 536
19.5 小结 538
19.6 习题 539
第4篇 实战篇 542
第20章 创建iPhone和iPad都兼容的程序 542
20.1 开发通用应用程序 542
20.1.1 创建通用模板 543
20.1.2 需要注意的地方 544
20.2 创建通用应用程序 548
20.2.1 设计程序界面 548
20.2.2 创建并连接IBOutlet 550
20.2.3 获取设备信息 551
20.3 扩展通用应用程序 552
20.3.1 创建iPad视图控制器类 552
20.3.2 快速添加输出口 553
20.3.3 实现程序功能 555
20.4 创建多目标程序 556
20.4.1 添加新的Target 557
20.4.2 配置程序 558
20.5 小结 559
20.6 习题 559
第21章 用Three20实现的食谱APP 560
21.1 什么是Three20 560
21.1.1 下载源代码 560
21.1.2 结构分析 561
21.2 功能的优势 563
21.3 导入Three20 566
21.3.1 添加Three20.xcodeproj 566
21.3.2 添加Three20.bundle 568
21.3.3 添加必须的静态链接库 568
21.3.4 添加目标依赖项 569
21.3.5 修改Header Search Paths 571
21.3.6 修改Other LinkerFlags 572
21.3.7 引入头文件 573
21.4 认识TTNavigator 573
21.4.1 使用方法 573
21.4.2 映射表 575
21.5 开发UseThree20应用程序——食谱APP 576
21.5.1 使用TTTableViewController 576
21.5.2 使用TTViewController类 581
21.5.3 修改AppDelegate类 584
21.6 补充说明 587
21.6.1 进展指示符MBProgressHUD 587
21.6.2 网络请求库ASIHttpRequest 588
21.6.3 网络图片处理 588
21.6.4 JSON Framework 588
21.7 小结 589
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《Python3从入门到实战》董洪伟 2019
- 《新编历史小丛书 祖逖北伐》何兹全著 2019
- 《国际经典影像诊断学丛书 消化影像诊断学 原著第3版》王振常,蒋涛,李宏军,杨正汉译;(美)迈克尔·P.费德勒 2019
- 《教育学考研应试宝典》徐影主编 2019
- 《本草古籍辑注丛书 第1辑 《食疗本草》辑校》(唐)孟诜撰;(唐)张鼎增补;尚志钧辑校 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019