正版正版全新 iOS移动开发从入门到精通+高性能iOS应用开发 2本pdf下载

正版正版全新 iOS移动开发从入门到精通+高性能iOS应用开发 2本百度网盘pdf下载

作者:
简介:正版正版全新 iOS移动开发从入门到精通+高性能iOS应用开发 2本
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

套装2册:


iOS移动开发从入门到精通 高性能iOS应用开发

书号:9787115451200 9787302462026



基本信息

内容简介

    书籍 
    计算机书籍 
本书由iOS开发工程师精心编撰,地介绍了使用iOS 10+Swift 3+Xcode 8开发移动应用的关键技术。 
本书共分三篇,,篇为基础篇,主要介绍了iOS开发基础知识,包括iOS的历史、Swift 3.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等。第二篇为进阶篇,主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、自动化测试、性能分析、本地化、加密与安全等实用技术。第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并·终创建一个成熟的商业项目。 
本书采用丰富的实例,直观的代码展示,向读者形象地讲解了在创建一款**的iOS应用程序时,所需要的大部分技巧,帮助读者轻松掌握并高效开发iOS程序。本书适合iOS开发新手、iOS程序员、iPhone开发人员、iPad开发人员使用,也可以作为相关培训机构和大专院校相关的教学用书。

目录


第1章 开发准备 1 
1.1 iOS移动开发现状 2 
1.1.1 iOS的历史 2 
1.1.2 iOS 10的十大变化 4 
1.1.3 iOS应用开发的八个特点 5 
1.2 iOS 10的新功能 5 
1.2.1 SiriKit 6 
1.2.2 Proactive Suggestions 
(预建议) 6 
1.2.3 Integrating with the Messages 
App 7 
1.2.4 User Notifications 7 
1.2.5 Speech Recognition 8 
1.2.6 Wide Color 9 
1.2.7 Adapting to the True Tone 
Display 9 
1.2.8 Widget Enhancements 9 
1.2.9 Security and Privacy 
Enhancements 9 
1.3 成为一名iOS开发者 11 
1.3.1 硬件上的需求 11 
1.3.2 加入Apple开发者计划 11 
1.3.3 下载安装Xcode和模拟器 13 
1.3.4 创建开发和发布配置文件Provisioning Profile 14 
1.4 创建一个基本的iOS项目 17 
1.4.1 项目的创建 17 
1.4.2 设置项目的信息 19 
1.4.3 设置应用的Icon图标 19 
1.4.4 设置应用的Launch图片 20 
1.4.5 编译并运行项目 22 
1.5 iOS应用的生命周期 23 
1.5.1 iOS应用程序的状态 24 
1.5.2 演示iOS应用程序的各种 
状态 25 
1.6 小结 26 
第2章 Xcode 8 IDE和iOS模拟器 27 
2.1 Xcode 8的使用 28 
2.1.1 工具栏的使用 28 
2.1.2 导航器的功能介绍 29 
2.1.3 项目导航器中的内容 30 
2.1.4 创建一个组和Swift文件 30 
2.1.5 在项目中搜索文件 33 
2.1.6 代码的查找和替换 36 
2.1.7 代码的Debug调试 36 
2.2 iOS模拟器的使用 39 
2.2.1 使用多种iOS模拟器 39 
2.2.2 iOS模拟器方向的切换 40 
2.2.3 iOS模拟器语言的切换 40 
2.2.4 截取模拟器屏幕 41 
2.2.5 应用程序的退出和删除 41 
2.3 小结 42 
第3章 Swift 3.0的基础知识 43 
3.1 Swift的基本概念 44 
3.1.1 Swift语言的特点 44 
3.1.2 Swift常量和变量的定义 45 
3.1.3 常量和变量的输出 46 
3.1.4 注释 47 
3.1.5 Playground 47 
3.2 数据类型与运算 49 
3.2.1 布尔类型 49 
3.2.2 Int类型及实例属性 50 
3.2.3 浮点类型及实例属性 51 
3.2.4 字符和字符串 51 
3.2.5 元组类型 54 
3.2.6 一元、二元和三元运算符 55 
3.2.7 比较运算符 56 
3.3 循环语句和条件判断语句 57 
3.3.1 for循环 57 
3.3.2 while循环语句 58 
3.3.3 repeat-while循环语句 59 
3.3.4 if条件判断语句 60 
3.3.5 switch条件判断语句 60 
3.3.6 continue语句和forthrough 
语句 61 
3.4 数组和字典 62 
3.4.1 数组 62 
3.4.2 多维数组 64 
3.4.3 数组的遍历 65 
3.4.4 字典 66 
3.5 小结 68 
第4章 Swift 3.0的进阶内容 69 
4.1 函数 70 
4.1.1 函数的定义和调用 70 
4.1.2 为参数设置默认值 71 
4.1.3 设置可变的函数参数数量 71 
4.1.4 函数作为参数和返回类型 72 
4.1.5 元组作为函数的返回类型, 
实现多个返回值 74 
4.1.6 使用函数类型 74 
4.1.7 函数的输入输出参数 75 
4.1.8 函数的嵌套 76 
4.1.9 函数的递归用法 76 
4.1.10 常用的内置函数 77 
4.2 枚举和结构体 79 
4.2.1 枚举 79 
4.2.2 结构体 83 
4.3 类 85 
4.3.1 类的创建 85 
4.3.2 类属性的set和get方法 88 
4.3.3 类属性的willSet和didSet 
方法 89 
4.3.4 类的静态方法 90 
4.3.5 类的析构 91 
4.3.6 类的继承 92 
4.3.7 类的加载属性lazy 93 
4.3.8 类的引用特征 95 
4.3.9 类型检查 95 
4.3.10 Any和Anyobject 98 
4.4 扩展、协议和其他 99 
4.4.1 扩展 99 
4.4.2 协议 101 
4.4.3 问号和感叹号! 103 
4.5 小结 105 
第5章 视图UIView和层CALayer 106 
5.1 视图UIView 107 
5.1.1 UIView概述 107 
5.1.2 UIView的外观属性 109 
5.1.3 UIView的几何属性 112 
5.1.4 UIView的嵌套和层次关系 114 
5.1.5 UIView的交互属性 116 
5.1.6 UIView的变形操作 118 
5.1.7 自定义UIView视图 120 
5.2 CALayer层 124 
5.2.1 CALayer边框 124 
5.2.2 CALayer阴影 125 
5.2.3 CALayer圆角 126 
5.2.4 CALayer渐变 127 
5.3 小结 129 
第6章 视图控制器UIViewController 130 
6.1 UIViewController视图控制器概述 131 
6.1.1 视图控制器与MVC 131 
6.1.2 创建一个视图控制器 132 
6.1.3 以模态方式弹出视图控制器 136 
6.1.4 视图控制器的生命周期 139 
6.1.5 视图控制器和UIScrollView 141 
6.2 UITabBarController 145 
6.2.1 创建一个UITabBarController 145 
6.2.2 改变Tab bar的位置 147 
6.2.3 改变UITabBarController 
索引 149 
6.2.4 在Tab图标上显示角标 149 
6.3 UINavigationController 150 
6.3.1 创建一个UINavigationController 
151 
6.3.2 UINavigationController视图 
入栈和出栈 153 
6.3.3 导航栏和工具栏的显示和 
隐藏 157 
6.3.4 导航栏样式的修改 157 
6.4 导航控制器和标签控制器 158 
6.5 小结 161 
第7章 常用**控件 162 
7.1 控件概述 163 
7.1.1 何为Target-Action机制 163 
7.1.2 UIControl类的方法和属性 165 
7.1.3 让我们一起动手来实现一个UIControl吧 167 
7.2 UIButton的概述 168 
7.3 UILabel文本视图 171 
7.3.1 UILabel的创建和文案显示 172 
7.3.2 UILabel处理过长的文案 173 
7.3.3 UILabel的阴影 174 
7.4 UISwitch开关视图 175 
7.4.1 UISwitch的创建 175 
7.4.2 UISwitch的开关使用 176 
7.5 UIRefreshControl 刷新控件 176 
7.6 UITextField文本框控件 178 
7.6.1 UITextField的创建和基本 
应用 179 
7.6.2 UITextField的背景图 180 
7.6.3 UITextField的浮动视图(Overlay view) 181 
7.6.4 UITextField的代理UITextFieldDelegate 183 
7.7 小结 185 
第8章 UITableView和UICollectionView 
186 
8.1 UITableView概述 187 
8.1.1 UITableViewCell单元格 187 
8.1.2 创建一个简单的表格 189 
8.1.3 自定义单元格UITableViewCell 
193 
8.1.4 自定义单元格的高度 196 
8.1.5 给表格添加章节和索引 198 
8.1.6 单元格的选择与取消选择 201 
8.1.7 单元格的插入和删除 204 
8.1.8 移动单元格的位置 209 
8.1.9 表格之间的嵌套 213 
8.2 UICollectionView概述 219 
8.2.1 UICollectionView的实现 
原理 220 
8.2.2 创建一个 UICollectionView对象并添加点击事件 221 
8.3 小结 225 
第9章 触屏事件和触摸手势 226 
9.1 触摸事件的监测 227 
9.1.1 对触摸事件阶段的监测 227 
9.1.2 监测是否触摸到某个视图 229 
9.1.3 实现图像视图的拖动 231 
9.2 触摸手势的使用 232 
9.2.1 实现单点触摸手势 233 
9.2.2 实现双击触摸手势 235 
9.2.3 实现长按手势的监测 236 
9.2.4 捏合手势的监测 238 
9.3 3D Touch的使用 239 
9.4 小结 242 
第10章 动画、声音与视频 243 
10.1 制作动画 244 
10.1.1 UIView的动画 244 
10.1.2 使用UIImageView播放帧 
动画 249 
10.1.3 位移关键帧动画的制作 251 
10.2 音频的播放 254 
10.2.1 使用System Sound Services 
播放简短声音 255 
10.2.2 使用AVAudioPlayer播放 
音乐 256 
10.3 视频的播放 260 
10.3.1 使用AVPlayer播放影片 260 
10.3.2 实现影片的画中画功能 262 
10.4 小结 265 
第11章 Alamofire网络请求框架 266 
11.1 Alamofire的前世今生 267 
11.1.1 Alamofire的手动集成 267 
11.1.2 Alamofire的网络是否联通和 
连接方式 269 
11.1.3 Alamofire的GET和POST 
请求 272 
11.1.4 Alamofire的文件上传及 
进度显示 274 
11.1.5 Alamofire的文件下载及 
进度显示 278 
11.2 小结 279 
第12章 UIWebView与HTML 5技术 280 
12.1 UIWebView的使用 281 
12.1.1 使用UIWebView加载网页 281 
12.1.2 使用UIWebView加载HTML 
字符串和GIF动画 283 
12.1.3 使用UIWebView加载本地 
网页 286 
12.1.4 使用回调原生 
程序 289 
12.2 创建一个简单的笔记本 292 
12.2.1 创建一个可编辑的div 292 
12.2.2 设置网页的CSS样式 293 
12.2.3 添加插入笔记图片的方法 294 
12.2.4 添加删除图片和获得笔记的 
方法 295 
12.2.5 实现笔记本的用户界面 296 
12.3 小结 298 
第13章 数据的持久化 299 
13.1 解析plist文件 300 
13.1.1 创建和解析plist文件 300 
13.1.2 将信息写入plist文件 303 
13.2 使用CoreData进行数据的持久化 304 
13.2.1 创建Core Data实体并插入 
数据 306 
13.2.2 检索Core Data中的数据 308 
13.2.3 修改和删除Core Data数据 310 
13.3 小结 312 
第14章 多线程技术 313 
14.1 多线程的概念 314 
14.1.1 任务、进程和线程 314 
14.1.2 线程的Stack space 315 
14.1.3 线程的优先级 315 
14.1.4 线程的生命周期 315 
14.1.5 线程和Run loop 316 
14.2 使用Thread 316 
14.2.1 创建Thread下载图片 317 
14.2.2 给Thread加锁使线程同步 319 
14.3 Operation技术的使用 322 
14.4 Grand Central Dispatch的使用 325 
14.4.1 使用GCD查询IP地址 
信息 326 
14.4.2 DispatchGroup调度组的 
使用 328 
14.5 小结 329 
第15章 MapKit地图 330 
15.1 Map Kit的概念 331 
15.1.1 MKMapView的显示区域 331 
15.1.2 MKMapView的跟踪和 
定位 332 
15.1.3 MKMapView的交互选项和 
装饰物 333 
15.1.4 创建一个MKMapView 
地图 333 
15.1.5 MKMapView代理的使用 335 
15.1.6 自定义annotationView和 
calloutView 337 
15.1.7 Camera相机的使用 341 
15.2 小结 342 
第16章 iOS的图文混排技术 343 
16.1 Core Text的使用 344 
16.1.1 文字排版方面的一些基本 
概念 344 
16.1.2 列出设备中的所有字体 346 
16.1.3 富文本的创建 347 
16.1.4 图文混排的实现 350 
16.2 Text Kit的使用 354 
16.2.1 使用Text Kit对文字进行 
分栏 354 
16.2.2 使用Text Kit制作图文混排 
效果 357 
16.3 小结 359 
第17章 iOS的图像和视频处理技术 360 
.......

高性能iOS应用开发

iOS开发必读,提升应用性能的实践,让App飞起来的软硬件解决之道

性能对用户体验有着至关重要的影响。本书将介绍对用户体验产生负面影响的各个方面,并概述如何优化iOS应用的性能。全书共5个部分,主要从性能的衡量标准、对应用至关重要的核心优化点、iOS应用开发特有的性能优化技术以及性能的非代码方面,讲解了应用性能的优化问题。本书的主要目的是展示如何从工程学的角度编写代码。本书适合已经具有Objective-C和iOS实践经验的开发人员阅读。

作者简介

  Gaurav Vaish,就职于雅虎公司的移动和新兴产品团队,为每月有数亿人使用的移动应用创建优雅的可重用方案。他曾是IIT指导计划的成员,还在印度班加罗尔创立了InColeg Learning及Edujini Labs有限公司。  梁士兴,毕业于北京航空航天大学,现任职美团-大众点评iOS技术专家。有多年的一线iOS开发经验,对于iOS应用性能有深入研究和独到见解。对iOS前沿技术、移动应用架构模式非常感兴趣。  郝田田,毕业于西安电子科技大学,现任职美团-大众点评iOS研发工程师,具有丰富的iOS软件开发经验,长期关注iOS领域前沿技术,曾参与数本iOS技术类书籍翻译工作。  陈作君,毕业于北京理工大学,现任职滴滴出行iOS研发工程师,多年大型移动端应用开发经验,热衷于开源项目建设,是一名技术书籍翻译的爱好者。

目录

译者序 xv
前言 xvii
,部分 开始
第1 章 移动应用的性能 3
1.1 定义性能 3
1.2 性能指标 4
1.2.1 内存 4
1.2.2 电量消耗 4
1.2.3 初始化时间 4
1.2.4 执行速度 5
1.2.5 响应速度 5
1.2.6 本地存储 5
1.2.7 互操作性 6
1.2.8 网络环境 7
1.2.9 带宽 7
1.2.10 数据刷新 8
1.2.11 多用户支持 8
1.2.12 单点登录 9
1.2.13 安全 9
1.2.14 崩溃 10
1.3 应用性能分析 10
1.3.1 采样 10
1.3.2 埋点 10
1.4 测量 11
1.4.1 设置工程与代码 11
1.4.2 设置崩溃报告 12
1.4.3 对应用埋点 13
1.4.4 日志 17
1.5 小结 19
第二部分 核心优化
第2 章 内存管理 23
2.1 内存消耗 23
2.1.1 栈大小 24
2.1.2 堆大小 25
2.2 内存管理模型 27
2.3 自动释放对象 28
2.4 自动释放池块 30
2.5 自动引用计数 32
2.6 引用类型 35
2.6.1 变量限定符 36
2.6.2 属性限定符 37
2.7 实践环节 38
2.7.1 照片模型 38
2.7.2 更新故事板 38
2.7.3 方法实现 39
2.7.4 输出分析 41
2.8 僵尸对象 42
2.9 内存管理规则 43
2.10 循环引用 43
2.10.1 避免循环引用的规则 45
2.10.2 循环引用的常见场景 46
2.10.3 观察者 56
2.10.4 返回 59
2.11 弱类型:id 59
2.12 对象寿命与泄漏 61
2.13 单例 62
2.14 找到神秘的持有者 64
2.15 ·佳实践 65
2.16 生产环境的内存使用情况 66
2.17 小结 67
第3 章 能耗 68
3.1 CPU 68
3.2 网络 70
3.3 定位管理器和GPS 73
3.3.1 ·佳的初始化 74
3.3.2 关闭无关紧要的特性 75
3.3.3 只在必要时使用网络 76
3.3.4 后台定位服务 77
3.3.5 NSTimer、NSThread 和定位服务 77
3.3.6 在应用关闭后重启 78
3.4 屏幕 78
3.4.1 动画 78
3.4.2 视频播放 78
3.4.3 多屏幕 79
3.5 其他硬件 83
3.6 电池电量与代码感知 83
3.7 分析电量使用 85
3.8 ·佳实践 86
3.9 小结 88
第4 章 并发编程 89
4.1 线程 89
4.2 线程开销 90
4.2.1 内核数据结构 90
4.2.2 栈空间 90
4.2.3 创建耗时 90
4.3 GCD 91
4.4 操作与队列 92
4.5 线程安全的代码 93
4.5.1 原子属性 93
4.5.2 同步块 94
4.5.3 锁 96
4.5.4 将读写锁应用于并发读写 100
4.5.5 使用不可变实体 102
4.5.6 使用集中的状态更新服务 106
4.5.7 状态观察者与通知 110
4.5.8 异步优于同步 114
4.6 小结 116
第三部分 iOS 性能
第5 章 应用的生命周期 119
5.1 应用委托 119
5.2 应用启动 121
5.2.1 启动 123
5.2.2 冷启动 129
5.2.3 热启动 135
5.2.4 升级后启动 137
5.3 推送通知 138
5.3.1 远程通知 138
5.3.2 本地通知 141
5.4 后台拉取 142
5.5 小结 144
第6 章 用户界面 145
6.1 视图控制器 146
6.1.1 视图加载 149
6.1.2 视图层级 150
6.1.3 视图可见性 152
6.2 视图 154
6.2.1 UILabel 155
6.2.2 UIButton 156
6.2.3 UIImageView 157
6.2.4 UITableView 158
6.2.5 UIWebView 161
6.2.6 自定义视图 164
6.3 自动布局 170
6.4 尺寸类别 171
6.5 iOS 8 中新的交互特性 175
6.5.1 交互式通知 175
6.5.2 应用扩展 176
6.6 小结 179
第7 章 网络 180
7.1 指标和测量 180
7.1.1 DNS 查找时间 181
7.1.2 SSL 握手时间 182
7.1.3 网络类型 183
7.1.4  188
7.1.5 网络API 190
7.2 应用部署 190
7.2.1 服务器 191
7.2.2 请求 191
7.2.3 数据格式 192
7.3 工具 193
7.3.1 网络链接调节器 193
7.3.2 AT & T 应用资源优化器 194
7.3.3 Charles 196
7.4 小结 199
第8 章 数据共享 200
8.1 深层链接 200
8.2 剪贴板 205
8.3 共享内容 208
8.3.1 文档交互 209
8.3.2 活动 215
8.4 iOS 8 扩展 217
8.4.1 配置操作扩展和共享扩展 219
8.4.2 操作扩展 220
8.4.3 共享扩展 221
8.4. 4 文档提供者扩展 223
8.4.5 应用群组 228
8.5 小结 230
第9 章 安全 231
9.1 应用访问 232
9.1.1 匿名访问 232
9.1.2 认证访问 234
9.2 网络安全 237
9.2.1 使用HTTPS 237
9.2.2 使用证书锁定 238
9.3 本地存储 242
9.4 数据共享 248
9.5 安全和应用性能 248
9.6 清单 248
9.7 小结 250
第四部分 代码之外
第10 章 测试及发布 253
10.1 测试类型 253
10.2 定义 254
10.3 单元测试 255
10.3.1 设置 255
10.3.2 编写单元测试 256
10.3.3 代码覆盖率 258
10.3.4 异步操作 262
10.3.5 Xcode 6 福利:性能单元测试 263
10.3.6 模拟依赖 265
10.3.7 其他框架 268
10.4 功能测试 268
10.4.1 设置 269
10.4.2 编写功能测试 271
10.4.3 工程结构 273
.......

^_^:e54f4baf5a054a4c0377c34a7ef8c173