图书介绍
iOS 10 开发指南PDF|Epub|txt|kindle电子书版本网盘下载
![iOS 10 开发指南](https://www.shukui.net/cover/78/30422106.jpg)
- 管蕾编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115440976
- 出版时间:2017
- 标注页数:809页
- 文件大小:251MB
- 文件页数:831页
- 主题词:
PDF下载
下载说明
iOS 10 开发指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 iOS开发入门1
1.1 iOS系统介绍1
1.1.1 iOS发展史1
1.1.2 全新的版本——iOS 101
1.2 开始iOS 10开发之旅2
1.3 工欲善其事,必先利其器——搭建开发环境4
1.3.1 Xcode介绍4
1.3.2 下载并安装Xcode 85
1.3.3 创建iOS 10项目并启动模拟器6
1.3.4 打开一个现有的iOS 10项目9
1.4 iOS 10中的常用开发框架9
1.4.1 Foundation框架简介10
1.4.2 Cocoa框架简介11
1.4.3 iOS程序框架12
第2章 使用Xcode开发环境详解13
2.1 基本面板介绍13
2.1.1 调试工具栏14
2.1.2 导航面板介绍14
2.1.3 检查器面板17
2.2 Xcode 8的基本操作18
2.2.1 改变公司名称18
2.2.2 通过搜索框缩小文件范围18
2.2.3 格式化代码19
2.2.4 代码缩进和自动完成20
2.2.5 文件内查找和替代20
2.2.6 快速定位到代码行22
2.2.7 快速打开文件22
2.2.8 自定义导航条23
2.2.9 使用Xcode帮助24
2.2.10 调试代码24
2.3 使用Xcode 8帮助系统25
第3章 Objective-C语言基础28
3.1 最耀眼的新星28
3.1.1 究竟何为Objective-C28
3.1.2 为什么选择Objective-C28
3.2 Objective-C的优点及缺点29
3.3 一个简单的例子29
3.3.1 使用Xcode编辑代码30
3.3.2 基本元素介绍31
3.4 数据类型和常量35
3.4.1 int类型36
3.4.2 float类型37
3.4.3 double类型37
3.4.4 char类型38
3.4.5 字符常量39
3.4.6 id类型40
3.4.7 限定词41
3.4.8 总结基本数据类型43
3.5 字符串43
3.6 算数表达式44
3.6.1 运算符的优先级44
3.6.2 整数运算和一元负号运算符45
3.6.3 模运算符46
3.6.4 整型值和浮点值的相互转换47
3.6.5 类型转换运算符48
3.7 表达式48
3.7.1 常量表达式48
3.7.2 条件运算符49
3.7.3 sizeof运算符49
3.7.4 关系运算符50
3.7.5 强制类型转换运算符50
3.8 位运算符51
3.8.1 按位与运算符51
3.8.2 按位或运算符52
3.8.3 按位异或运算符52
3.8.4 一次求反运算符53
3.8.5 向左移位运算符54
3.8.6 向右移位运算符54
3.8.7 总结Objective-C的运算符55
第4章 Swift语言基础56
4.1 Swift概述56
4.1.1 Swift的创造者56
4.1.2 Swift的优势56
4.1.3 最新的Swift 3.058
4.2 数据类型和常量58
4.2.1 int类型59
4.2.2 float类型59
4.2.3 double类型59
4.2.4 char类型59
4.2.5 字符常量59
4.3 变量和常量60
4.3.1 常量详解60
4.3.2 变量详解60
4.4 字符串和字符61
4.4.1 字符串字面量62
4.4.2 初始化空字符串62
4.4.3 字符串可变性62
4.4.4 值类型字符串63
4.4.5 计算字符数量63
4.4.6 连接字符串和字符64
4.4.7 字符串插值64
4.4.8 比较字符串64
4.4.9 Unicode65
4.5 流程控制67
4.5.1 for循环(1)68
4.5.2 for循环(2)69
4.5.3 while循环69
4.6 条件语句70
4.6.1 if语句70
4.6.2 switch语句71
4.7 函数72
4.7.1 函数的声明与调用72
4.7.2 函数的参数和返回值73
4.8 实战演练——使用Xcode创建Swift程序75
第5章 Cocoa Touch框架77
5.1 Cocoa Touch基础77
5.1.1 Cocoa Touch概述77
5.1.2 Cocoa Touch中的框架78
5.1.3 Cocoa Touch的优势78
5.2 iPhone的技术层78
5.2.1 Cocoa Touch层79
5.2.2 多媒体层82
5.2.3 核心服务层83
5.2.4 核心OS层84
5.3 Cocoa Touch中的框架84
5.3.1 Core Animation(图形处理)框架84
5.3.2 Core Audio(音频处理)框架85
5.3.3 Core Data(数据处理)框架86
5.4 Cocoa中的类87
5.4.1 核心类87
5.4.2 数据类型类88
5.4.3 UI界面类90
5.5 国际化91
5.6 使用Xcode学习iOS框架92
5.6.1 使用Xcode文档92
5.6.2 快速帮助93
第6章 Xcode Interface Builder界面开发95
6.1 Interface Builder基础95
6.2 和Interface Builder密切相关的库面板97
6.3 Interface Builder采用的方法98
6.4 Interface Builder中的故事板——Storyboarding98
6.4.1 推出的背景98
6.4.2 故事板的文档大纲99
6.4.3 文档大纲的区域对象100
6.5 创建一个界面101
6.5.1 对象库101
6.5.2 将对象加入到视图中102
6.5.3 使用IB布局工具102
6.6 定制界面外观105
6.6.1 使用属性检查器105
6.6.2 设置辅助功能属性105
6.6.3 测试界面106
6.7 iOS 10控件的属性107
6.8 实战演练——将设计界面连接到代码(双语实现:Objective-C版)107
6.8.1 打开项目107
6.8.2 输出口和操作108
6.8.3 创建到输出口的连接109
6.8.4 创建到操作的连接110
6.9 实战演练——将设计界面连接到代码(双语实现:Swift版)111
6.10 实战演练——纯代码实现UI设计112
第7章 使用Xcode编写MVC程序115
7.1 MVC模式基础115
7.1.1 分析结构115
7.1.2 MVC的特点116
7.2 Xcode中的MVC116
7.2.1 原理116
7.2.2 模板就是给予MVC的117
7.3 在Xcode中实现MVC117
7.3.1 视图118
7.3.2 视图控制器118
7.4 数据模型119
7.5 实战演练——使用模板Single View Application创建MVC程序(双语实现:Objective-C版)120
7.5.1 创建项目120
7.5.2 规划变量和连接122
7.5.3 设计界面124
7.5.4 创建并连接输出口和操作125
7.5.5 实现应用程序逻辑127
7.5.6 生成应用程序127
7.6 实战演练——使用模板Single View Application创建MVC程序(双语实现:Swift版)127
第8章 文本框和文本视图129
8.1 文本框(UITextField)129
8.1.1 文本框基础129
8.1.2 实战演练——控制是否显示TextField中信息129
8.1.3 实战演练——实现用户登录框界面131
8.1.4 实战演练——限制输入文本的长度132
8.1.5 实战演练——实现一个UITextField控件(Swift版)133
8.2 文本视图(UITextView)134
8.2.1 文本视图基础134
8.2.2 实战演练——拖动输入的文本135
8.2.3 实战演练——自定义设置文字的行间距136
8.2.4 实战演练——自定义UITextView控件的样式137
8.2.5 实战演练——在指定的区域中输入文本(Swift版)138
8.2.6 实战演练——通过文本提示被单击的按钮(双语实现:Objective-C版)139
8.2.7 实战演练——在屏幕中显示被单击的按钮(双语实现:Swift版)140
第9章 按钮和标签141
9.1 标签(UILabel)141
9.1.1 标签(UILabel)的属性141
9.1.2 实战演练——使用UILabel显示一段文本141
9.1.3 实战演练——为文字分别添加上划线、下划线和中划线143
9.1.4 实战演练——显示被触摸单词的字母144
9.1.5 实战演练——显示一个指定样式的文本(Swift版)145
9.2 按钮(UIButton)146
9.2.1 按钮基础146
9.2.2 实战演练——自定义设置按钮的图案147
9.2.3 实战演练——实现了一个变换形状动画按钮149
9.3 实战演练——联合使用文本框、文本视图和按钮(双语实现:Objective-C版)150
9.3.1 创建项目150
9.3.2 设计界面151
9.3.3 创建并连接输出口和操作155
9.3.4 实现按钮模板156
9.3.5 隐藏键盘158
9.3.6 实现应用程序逻辑159
9.3.7 总结执行160
9.4 实战演练——联合使用文本框、文本视图和按钮(双语实现:Swift版)160
9.5 实战演练——自定义一个按钮(Swift版)161
第10章 滑块、步进和图像163
10.1 滑块控件(UISlider)163
10.1.1 Slider控件的基本属性163
10.1.2 实战演练——使用素材图片实现滑动条特效164
10.1.3 实战演练——实现自动显示刻度的滑动条165
10.1.4 实战演练——实现各种各样的滑块166
10.1.5 实战演练——自定义实现UISlider控件功能(Swift版)168
10.2 步进控件(UIStepper)169
10.2.1 步进控件介绍169
10.2.2 实战演练——自定义步进控件的样式170
10.2.3 实战演练——设置指定样式的步进控件171
10.2.4 实战演练——使用步进控件自动增减数字(Swift版)173
10.3 图像视图控件(UIImageView)173
10.3.1 UIImageView的常用操作174
10.3.2 实战演练——实现图像的模糊效果174
10.3.3 实战演练——滚动浏览图片176
10.3.4 实战演练——实现一个图片浏览器177
10.3.5 实战演练——使用UIImageView控件(Swift版)179
第11章 开关控件和分段控件181
11.1 开关控件(UISwitch)181
11.1.1 开关控件基础181
11.1.2 实战演练——改变UISwitch的文本和颜色181
11.1.3 实战演练——显示具有开关状态的开关182
11.1.4 实战演练——联合使用UISlider与UISwitch控件183
11.1.5 实战演练——控制是否显示密码明文(Swift版)185
11.2 分段控件(UISegmentedControl)186
11.2.1 分段控件的属性和方法186
11.2.2 实战演练——使用UISegmentedControl控件187
11.2.3 实战演练——添加图标和文本189
11.2.4 实战演练——使用分段控件控制背景颜色191
11.2.5 实战演练——使用UISegmentedControl控件(Swift版)192
11.3 实战演练——联合使用开关控件和分段控件(双版实现:Objective-C版)192
11.4 实战演练——联合使用开关控件和分段控件(双版实现:Swift版)194
第12章 Web视图控件、可滚动视图控件和翻页控件196
12.1 Web视图(UIWebView)196
12.1.1 Web视图基础196
12.1.2 实战演练——在UIWebView控件中调用JavaScript脚本197
12.1.3 实战演练——使用滑动条动态改变字体的大小198
12.1.4 实战演练——实现一个迷你浏览器工具200
12.1.5 实战演练——使用UIWebView控件加载网页(Swift版)201
12.2 可滚动的视图(UIScrollView)203
12.2.1 UIScrollView的基本用法203
12.2.2 实战演练——使用可滚动视图控件204
12.2.3 实战演练——滑动隐藏状态栏207
12.2.4 实战演练——使用UIScrollView控件(Swift版)208
12.3 翻页控件(UIPageControl)209
12.3.1 PageControll控件基础210
12.3.2 实战演练——自定义UIPageControl控件的外观样式210
12.3.3 实战演练——实现一个图片播放器212
12.3.4 实战演练——实现一个图片浏览程序213
12.3.5 实战演练——使用UIPageControl控件设置4个界面(Swift版)214
12.4 实战演练——联合使用开关、分段控件和Web视图控件(双语实现:Objective-C版)216
12.4.1 创建项目216
12.4.2 设计界面217
12.4.3 创建并连接输出口和操作219
12.4.4 实现应用程序逻辑221
12.4.5 调试运行223
12.5 实战演练——联合使用开关、分段控件和Web视图控件(双语实现:Swift版)223
第13章 提醒和操作表225
13.1 UIAlertController基础225
13.1.1 提醒视图225
13.1.2 操作表基础225
13.2 使用UIAlertController225
13.2.1 一个简单的对话框例子226
13.2.2 “警告”样式227
13.2.3 文本对话框227
13.2.4 上拉菜单229
13.2.5 释放对话框控制器231
13.3 实战演练231
13.3.1 实战演练——实现一个自定义操作表视图231
13.3.2 实战演练——分别自定义实现提醒表视图和操作表视图232
13.3.3 实战演练——自定义UIAlertController控件的外观234
13.3.4 实战演练——实现一个提醒框效果(Swift版)236
第14章 工具栏、日期选择器237
14.1 工具栏(UIToolbar)237
14.1.1 工具栏基础237
14.1.2 实战演练——联合使用UIToolBar和UIView238
14.1.3 实战演练——自定义UIToolBar控件的颜色和样式240
14.1.4 实战演练——创建一个带有图标按钮的工具栏243
14.1.5 使用UIToolbar制作一个网页浏览器(Swift版)245
14.2 选择器视图(UIPickerView)247
14.2.1 选择器视图基础247
14.2.2 实战演练——实现两个UIPickerView控件间的数据依赖248
14.2.3 实战演练——自定义一个选择器(双语实现:Objective-C实现)251
14.2.4 实战演练——自定义一个选择器(双语实现:Swift版)258
14.2.5 实战演练——实现一个单列选择器260
14.2.6 实战演练——实现一个“星期”选择框261
14.3 日期选择控件(UIDatePicker)262
14.3.1 UIDatePicker基础263
14.3.2 实战演练——使用UIDatePicker控件(Swift版)265
14.3.3 实战演练——实现一个日期选择器266
14.3.4 实战演练——使用日期选择器自动选择一个时间272
第15章 表视图(UITable)274
15.1 表视图基础274
15.1.1 表视图的外观274
15.1.2 表单元格274
15.1.3 添加表视图275
15.1.4 UITableView详解276
15.2 实战演练278
15.2.1 实战演练——自定义UITableViewCell278
15.2.2 实战演练——实现一个图文样式联系人列表效果282
15.2.3 实战演练——在表视图中动态操作单元格(Swirft版)285
15.2.4 实战演练——拆分表视图(双语实现:Objctive-C版)287
15.2.5 实战演练——拆分表视图(双语实现:Swift版)288
第16章 活动指示器、进度条和检索条290
16.1 活动指示器(UIActivityIndicatorView)290
16.1.1 活动指示器基础290
16.1.2 实战演练——自定义UIActivityIndicatorView控件的样式290
16.1.3 实战演练——自定义活动指示器的显示样式293
16.1.4 实战演练——实现不同外观的活动指示器效果296
16.1.5 实战演练——使用UIActivityIndicatorView控件(Swift版)297
16.2 进度条(UIProgressView)298
16.2.1 进度条基础298
16.2.2 实战演练——自定义进度条的外观样式298
16.2.3 实战演练——实现多个具有动态条纹背景的进度条299
16.2.4 实战演练——自定义一个指定外观样式的进度条302
16.2.5 实战演练——实现自定义进度条效果(Swift版)306
16.3 检索条(UISearchBar)308
16.3.1 检索条基础308
16.3.2 实战演练——在查找信息输入关键字时实现自动提示功能309
16.3.3 实战演练——实现文字输入的自动填充和自动提示功能313
16.3.4 实战演练——使用检索控件快速搜索信息314
16.3.5 实战演练——使用UISearchBar控件(Swift版)316
16.3.6 实战演练——在表视图中实现信息检索(双语实现:Objective-C版)318
16.3.7 实战演练——在表视图中实现信息检索(双语实现:Swift版)321
第17章 UIView详解323
17.1 UIView基础323
17.1.1 UIView的结构323
17.1.2 视图架构325
17.1.3 视图层次和子视图管理326
17.1.4 视图绘制周期326
17.1.5 UIView的常见应用326
17.2 实战演练327
17.2.1 实战演练——给任意UIView视图四条边框加上阴影327
17.2.2 实战演练——给UIView加上各种圆角、边框效果329
17.2.3 实战演练——使用UIView控件实现弹出式动画表单效果333
17.2.4 实战演练——创建一个滚动图片浏览器(Swift版)335
17.2.5 实战演练——创建一个产品展示列表(双语实现:Objctive-C版)336
17.2.6 实战演练——创建一个产品展示列表(双语实现:Swift版)337
第18章 视图控制器339
18.1 导航控制器(UIViewController)基础339
18.1.1 UIViewController的常用属性和方法339
18.1.2 实战演练——实现可以移动切换的视图效果340
18.1.3 实战演练——实现手动旋转屏幕的效果343
18.2 使用UINavigationController344
18.2.1 UINavigationController详解345
18.2.2 实战演练——实现一个界面导航条功能346
18.2.3 实战演练——创建主从关系的“主-子”视图(Swift版)349
18.2.4 实战演练——使用导航控制器展现3个场景(双语实现:Objective-C版)350
18.2.5 实战演练——使用导航控制器展现3个场景(双语实现:Objective-C版)354
18.3 选项卡栏控制器354
18.3.1 选项卡栏和选项卡栏项355
18.3.2 实战演练——使用选项卡栏控制器构建3个场景357
18.3.3 实战演练——使用动态单元格定制表格行362
18.3.4 开发一个界面选择控制器(Swift版)363
第19章 实现多场景和弹出框365
19.1 多场景故事板365
19.1.1 多场景故事板基础365
19.1.2 创建多场景项目366
19.1.3 实战演练——实现多个视图之间的切换370
19.1.4 实战演练——使用第二个视图来编辑第一个视图中的信息(双语实现:Objective-C版)375
19.1.5 实战演练——使用第二个视图来编辑第一个视图中的信息(双语实现:Swift版)379
第20章 UICollectionView和UIVisualEffectView控件381
20.1 UICollectionView控件详解381
20.1.1 UICollectionView的构成381
20.1.2 实现一个简单的UICollectionView382
20.1.3 自定义的UICollectionViewLayout385
20.1.4 实战演练——使用UICollectionView控件实现网格效果386
20.1.5 实战演练——实现大小不相同的网格效果388
20.1.6 实战演练——实现Pinterest样式的布局效果(Swift版)391
20.2 UIVisualEffectView控件详解393
20.2.1 UIVisualEffectView基础393
20.2.2 使用VisualEffectView控件实现模糊特效395
20.2.3 使用VisualEffectView实现Vibrancy效果395
20.2.4 实战演练——在屏幕中实现模糊效果397
20.2.5 实战演练——在屏幕中实现遮罩效果399
20.2.6 实战演练——编码实现指定图像的模糊效果(Swift版)400
第21章 iPad弹出框和分割视图控制器403
21.1 iPad弹出框控制器(UIPopoverPresentationController)403
21.1.1 创建弹出框403
21.1.2 创建弹出切换403
21.1.3 实战演练——弹出模态视图405
21.1.4 实战演练——弹出模态视图406
21.2 探索分割视图控制器407
21.2.1 分割视图控制器基础408
21.2.2 实战演练——使用表视图(双语实现:Objective-C版)410
21.2.3 实战演练——使用表视图(双语实现:Swift版)414
21.2.4 实战演练——创建基于主从关系的分割视图(Swift版本)416
第22章 界面旋转、大小和全屏处理417
22.1 启用界面旋转417
22.1.1 界面旋转基础417
22.1.2 实战演练——实现界面自适应(Swift版)418
22.1.3 实战演练——设置界面实现自适应(双语实现:Objective-C版)419
22.1.4 实战演练——设置界面实现自适应(双语实现:Swift版)420
22.2 设计可旋转和可调整大小的界面420
22.2.1 自动旋转和自动调整大小420
22.2.2 调整框架421
22.2.3 切换视图421
22.2.4 实战演练——使用Interface Builder创建可旋转和调整大小的界面421
22.2.5 实战演练——在旋转时调整控件424
22.2.6 实战演练——旋转时切换视图428
22.2.7 实战演练——实现屏幕视图的自动切换(Swift版)430
第23章 图形、图像、图层和动画432
23.1 图形处理432
23.1.1 iOS的绘图机制432
23.1.2 实战演练——在屏幕中绘制一个三角形433
23.1.3 实战演练——使用CoreGraphic实现绘图操作434
23.2 图像处理436
23.2.1 实战演练——实现颜色选择器/调色板功能436
23.2.2 实战演练——在屏幕中绘制一个图像437
23.3 图层438
23.3.1 视图和图层438
23.3.2 实战演练——实现图片、文字以及翻转效果438
23.3.3 实战演练——滑动展示不同的图片439
23.3.4 实战演练——演示CALayers图层的用法(Swift版)440
23.4 实现动画441
23.4.1 UIImageView动画441
23.4.2 视图动画UIView441
23.4.3 Core Animation详解445
23.4.4 实战演练——实现UIView分类动画效果446
23.4.5 实战演练——动画样式显示电量使用情况448
23.4.6 实战演练——图形图像的人脸检测处理(Swift版)450
23.4.7 实战演练——联合使用图像动画、滑块和步进控件(双语实现:Objective-C版)452
23.4.8 实战演练——联合使用图像动画、滑块和步进控件(双语实现:Swift版)461
第24章 多媒体开发463
24.1 使用AudioToolbox框架463
24.1.1 声音服务基础463
24.1.2 实战演练——播放指定的声音文件464
24.1.3 实战演练——播放任意位置的音频465
24.2 提醒和振动465
24.2.1 播放提醒音466
24.2.2 实战演练——实现两种类型的振动效果(Swift版)466
24.2.3 实战演练——实用iOS的提醒功能467
24.3 AV Foundation框架475
24.3.1 准备工作475
24.3.2 使用AV音频播放器475
24.3.3 实战演练——使用AV Foundation框架播放视频476
24.3.4 实战演练——使用AVAudioPlayer播放和暂停指定的MP3播放(Swift版)477
24.3.5 实战演练——使用AVKit框架播放列表中的视频477
24.3.6 实战演练——使用AVKit框架播放本地视频479
24.3.7 实战演练——使用AVKit框架播放网络视频480
24.4 图像选择器(UIImagePickerController)481
24.4.1 使用图像选择器481
24.4.2 实战演练——获取照片库的图片481
第25章 分屏多任务484
25.1 分屏多任务基础484
25.1.1 分屏多任务的开发环境484
25.1.2 Slide Over和Split View基础485
25.1.3 画中画487
25.2 实战演练487
25.2.1 实战演练——使用SlideOver多任务(Swift版)487
25.2.2 实战演练——使用SplitView多任务(Swift版)491
25.2.3 实战演练——开发一个分割多视图浏览器(Swift版)496
第26章 定位处理499
26.1 iOS模拟器调试定位程序的方法499
26.2 Core Location框架500
26.2.1 Core Location基础500
26.2.2 使用流程501
26.2.3 实战演练——定位显示当前的位置信息(Swift版)503
26.3 获取位置506
26.3.1 位置管理器委托506
26.3.2 获取航向507
26.3.3 实战演练——定位当前的位置信息508
26.4 加入地图功能510
26.4.1 Map Kit基础510
26.4.2 为地图添加标注511
26.4.3 实战演练——在地图中定位当前的位置信息(Swift版)512
26.4.4 实战演练——在地图中绘制导航线路513
26.5 实战演练——创建一个支持定位的应用程序(双语实现:Objective-C版)515
26.5.1 创建项目516
26.5.2 设计视图517
26.5.3 创建并连接输出口517
26.5.4 实现应用程序逻辑517
26.5.5 生成应用程序519
26.6 实战演练——创建一个支持定位的应用程序(双语实现:Swift版)520
26.7 实战演练——实现地图定位(双语实现:Objective-C版)520
26.8 实战演练——实现地图定位(双语实现:Swift版)522
第27章 读写应用程序数据523
27.1 iOS应用程序和数据存储523
27.2 用户默认设置524
27.3 设置束524
27.3.1 设置束基础524
27.3.2 实战演练——通过隐式首选项实现一个手电筒程序(双语实现:Objective-C版)526
27.3.3 实战演练——通过隐式首选项实现一个手电筒程序(双语实现:Swift版)529
27.4 直接访问文件系统529
27.4.1 应用程序数据的存储位置530
27.4.2 获取文件路径530
27.4.3 读写数据531
27.4.4 读取和写入文件532
27.4.5 通过plist文件存取文件533
27.4.6 保存和读取文件534
27.4.7 文件共享和文件类型534
27.4.8 实战演练——实现一个用户信息收集器(双语实现:Objective-C版)535
27.4.9 实战演练——实现一个用户信息收集器(双语实现:Swift版)539
27.5 核心数据(Core Data)539
27.5.1 Core Data基础540
27.5.2 实战演练——使用CoreData动态添加、删除数据541
27.6 互联网数据542
27.6.1 XML和JSON543
27.6.2 实战演练——使用JSON获取网站中的照片信息545
第28章 触摸、手势识别和Force Touch549
28.1 多点触摸和手势识别基础549
28.2 触摸处理550
28.2.1 触摸事件和视图550
28.2.2 iOS中的手势操作552
28.2.3 实战演练——触摸的方式移动视图553
28.2.4 实战演练——触摸挪动彩色方块(Swift版)553
28.3 手势处理557
28.3.1 手势处理基础557
28.3.2 实战演练——识别手势并移动屏幕中的方块(Swift版)561
28.3.3 实战演练——实现一个手势识别器(双语实现:Objective-C版)563
28.3.4 实战演练——实现一个手势识别器(双语实现:Swift版)570
28.4 全新感应功能——Force Touch(3D Touch)技术570
28.4.1 Force Touch介绍570
28.4.2 Force Touch APIs介绍571
28.4.3 实战演练——使用Force Touch571
28.4.4 实战演练——启动Force Touch触控面板573
28.4.5 实战演练——为应用程序添加3D Touch手势(Swift版)574
第29章 和硬件之间的操作576
29.1 加速计和陀螺仪576
29.1.1 加速计基础576
29.1.2 陀螺仪578
29.1.3 实战演练——使用Motion传感器(Swift版)579
29.1.4 实战演练——检测倾斜和旋转(双语实现:Objective-C版)580
29.1.5 实战演练——检测倾斜和旋转(双语实现:Swift版)585
29.2 访问朝向和运动数据586
29.2.1 两种方法586
29.2.2 实战演练——检测当前设备的朝向(双语实现:Objective-C版)587
29.2.3 实战演练——检测当前设备的朝向(双语实现:Swift版)589
29.3 实战演练——传感器综合练习(Swift版)590
第30章 地址簿、邮件、Twitter和短消息599
30.1 Contacts Framework框架599
30.1.1 Contacts框架的主要构成类599
30.1.2 使用Contact框架600
30.1.3 实战演练——使用Contacts框架获取通信录信息600
30.2 Message UI电子邮件602
30.2.1 Message UI基础602
30.2.2 实战演练——使用Message UI发送邮件(Swift版)603
30.3 使用Twitter发送推特信息604
30.3.1 Twitter基础605
30.3.2 实战演练——开发一个Twitter客户端(Swift版)605
30.4 实战演练——联合使用地址簿、电子邮件、Twitter和地图607
30.4.1 创建项目607
30.4.2 设计界面608
30.4.3 创建并连接输出口和操作608
30.4.4 实现通信录逻辑609
30.4.5 实现地图逻辑609
30.4.6 实现电子邮件逻辑610
30.4.7 实现Twitter逻辑610
30.4.8 调试运行610
30.5 使用iOS 10全新框架——Messages.framework框架611
30.5.1 Messages.framework框架介绍611
30.5.2 实战演练——调用并使用Messages.framework框架612
第31章 开发通用的项目程序614
31.1 开发通用应用程序614
31.1.1 在iOS 6中开发通用应用程序614
31.1.2 在iOS 6+中开发通用应用程序615
31.1.3 图标文件622
31.1.4 启动图像622
31.2 实战演练——使用通用程序模板创建通用应用程序(双语实现:Objective-C版)623
31.2.1 创建项目623
31.2.2 设计界面623
31.2.3 创建并连接输出口624
31.2.4 实现应用程序逻辑624
31.3 实战演练——使用通用程序模板创建通用应用程序(双语实现:Swift版)625
31.4 实战演练——使用视图控制器626
31.4.1 创建项目626
31.4.2 设计界面627
31.4.3 创建并连接输出口627
31.4.4 实现应用程序逻辑627
31.4.5 生成应用程序627
31.5 实战演练——使用多个目标628
31.5.1 将iPhone目标转换为iPad目标629
31.5.2 将iPad目标转换为iPhone目标629
31.6 实战演练——创建基于“主—从”视图的应用程序629
31.6.1 创建项目630
31.6.2 调整iPad界面631
31.6.3 调整iPhone界面632
31.6.4 实现应用程序数据源632
31.6.5 实现主视图控制器634
31.6.6 实现细节视图控制器636
31.6.7 调试运行637
第32章 推服务和多线程638
32.1 推服务638
32.1.1 推服务介绍638
32.1.2 推服务的机制639
32.1.3 iOS 10中PushNotificationIOS远程推送的主要方法639
32.1.4 在iOS 10中实现远程推送通知的步骤640
32.1.5 实战演练——在iOS 10中发送3种形式的通知643
32.2 多线程646
32.2.1 多线程基础646
32.2.2 iOS中的多线程648
32.2.3 线程的同步与锁652
32.2.4 线程的交互653
32.3 ARC机制653
32.3.1 ARC概述654
32.3.2 ARC中的新规则655
32.4 实战演练——实现后台多线程处理(双语实现:Objective-C版)655
32.5 实战演练——实现后台多线程处理(双语实现:Swift版)657
第33章 Touch ID详解658
33.1 开发Touch ID应用程序658
33.1.1 Touch ID的官方资料658
33.1.2 开发Touch ID应用程序的步骤659
33.2 实战演练——使用Touch ID认证660
33.3 实战演练——使用Touch ID密码和指纹认证661
33.4 实战演练——Touch ID认证的综合演练666
第34章 使用CocoaPods依赖管理673
34.1 使用CocoaPods基础673
34.2 安装CocoaPods674
34.2.1 基本安装674
34.2.2 快速安装674
34.3 使用CocoaPods674
34.3.1 在自己的项目中使用CocoaPods675
34.3.2 为自己的项目创建podspec文件677
34.3.3 生成第三方库的帮助文档678
34.4 实战演练——打开一个用CocoaPods管理的开源项目678
第35章 使用扩展(Extension)682
35.1 扩展(Extension)基础682
35.1.1 扩展的生命周期683
35.1.2 扩展和容器应用的交互683
35.2 实战演练——使用Photo Editing Extension(照片扩展)683
35.3 实战演练——使用Today Extension(今日提醒扩展)690
35.4 实战演练——使用Action Extension翻译英文693
35.5 实战演练——使用Share Extension扩展实现分享功能696
第36章 游戏开发704
36.1 Sprite Kit框架基础704
36.1.1 Sprite Kit的优点和缺点704
36.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择704
36.2 实战演练——开发一个Sprite Kit游戏程序705
36.3 实战演练——开发一个射击游戏(双语实现:Objective-C版)713
36.4 实战演练——开发一个射击游戏(双语实现:Swift版)720
第37章 watchOS 3智能手表开发721
37.1 Apple Watch介绍721
37.2 WatchKit开发详解722
37.2.1 搭建WatchKit开发环境722
37.2.2 WatchKit架构723
37.2.3 WatchKit布局724
37.2.4 Glances和Notifications(快速预览信息)725
37.2.5 Watch App的生命周期725
37.3 开发Apple Watch应用程序726
37.3.1 创建Watch应用727
37.3.2 创建Glance界面727
37.3.3 自定义通知界面727
37.3.4 配置Xcode项目727
37.4 实战演练——实现AppleWatch垂直列表界面布局730
37.5 实战演练——演示AppleWatch的日历事件732
37.6 实战演练——在手表中控制小球的移动736
37.7 实战演练——实现一个倒计时器737
第38章 HealthKit健康应用开发739
38.1 HealthKit基础739
38.1.1 HealthKit介绍739
38.1.2 市面中的HealthKit应用现状739
38.1.3 接入HealthKit的好处740
38.2 HealthKit开发基础740
38.2.1 HealthKit开发要求740
38.2.2 HealthKit开发思路741
38.3 实战演练——读写HealthKit数据信息742
38.4 实战演练——心率检测(Swift版)742
38.5 实战演练——获取行走的步数745
38.6 实战演练——获取步数、跑步距离、体重和身高(Swift版)746
第39章 在程序中加入Siri功能748
39.1 Siri基础748
39.1.1 iOS 10中的Siri748
39.1.2 HomeKit中的Siri指令748
39.2 在iOS 10应用程序中使用Siri749
39.2.1 iOS 10对生态整合与Extension开发的努力749
39.2.2 Siri功能将以Extension扩展的形式存在750
39.2.3 创建Intents Extension750
39.3 实战演练——在健身程序中使用Siri755
39.4 实战演练——在打车程序中使用Siri758
第40章 开发tvOS程序760
40.1 tvOS开发基础760
40.1.1 tvOS系统介绍760
40.1.2 tvOS开发方式介绍760
40.1.3 打开遥控器的模拟器761
40.2 使用Custom App方式761
40.2.1 Custom App方式介绍761
40.2.2 实战演练——开发一个简单的按钮响应程序(Swift版)762
40.2.3 实战演练——开发一个猜谜游戏(Swift版)763
40.2.4 实战演练——在tvOS中使用表视图(Swift版)765
40.2.5 实战演练——开发一个天气预报程序(Swift版)767
40.3 使用TVMLApps方式769
40.3.1 使用TVMLApps方式开发769
40.3.2 实战演练——开发一个可响应的tvOS程序(Swift版)779
40.3.3 实战演练——电影播放列表(Swift版)784
第41章 分屏多视图播放器787
41.1 分屏多视图系统介绍787
41.2 创建工程787
41.3 分屏具体实现788
41.3.1 实现主视图界面788
41.3.2 显示某个视频的基本信息792
41.3.3 播放视频793
41.3.4 播放网页嵌入式视频797
第42章 tvOS电影库系统799
42.1 tvOS电影库系统介绍799
42.2 系统介绍799
42.3 使用Objective-C实现802
42.4 使用Swift实现808
42.5 系统扩展——优酷和土豆视频809