图书介绍
iOS 11开发指南PDF|Epub|txt|kindle电子书版本网盘下载
![iOS 11开发指南](https://www.shukui.net/cover/3/31321105.jpg)
- 管蕾编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115475602
- 出版时间:2018
- 标注页数:714页
- 文件大小:107MB
- 文件页数:730页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
iOS 11开发指南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 111
1.2 开始iOS 11开发之旅2
1.3 工欲善其事,必先利其器——搭建开发环境3
1.3.1 Xcode介绍4
1.3.2 下载并安装Xcode 94
1.3.3 创建iOS 11项目并启动模拟器6
1.3.4 打开一个现有的iOS 11项目8
1.4 iOS 11中的常用开发框架8
1.4.1 Foundation框架简介8
1.4.2 Cocoa框架简介10
1.4.3 iOS程序框架10
第2章 使用Xcode开发环境详解12
2.1 基本面板介绍12
2.1.1 调试工具栏12
2.1.2 导航面板介绍13
2.1.3 检查器面板15
2.2 Xcode 9的基本操作16
2.2.1 改变公司名称16
2.2.2 通过搜索框缩小文件范围16
2.2.3 格式化代码17
2.2.4 代码缩进和自动完成17
2.2.5 文件内查找和替代18
2.2.6 快速定位到代码行19
2.2.7 快速打开文件19
2.2.8 自定义导航条20
2.2.9 使用Xcode帮助21
2.2.10 调试代码21
2.3 使用Xcode 9帮助系统22
第3章 Objective-C语言基础24
3.1 最耀眼的新星24
3.1.1 究竟何为Objective-C24
3.1.2 为什么选择Objective-C24
3.2 Objective-C的优点及缺点25
3.3 一个简单的例子26
3.3.1 使用Xcode编辑代码26
3.3.2 基本元素介绍27
3.4 数据类型和常量31
3.4.1 int类型32
3.4.2 float类型33
3.4.3 double类型33
3.4.4 char类型34
3.4.5 字符常量35
3.4.6 id类型36
3.4.7 限定词37
3.4.8 总结基本数据类型39
3.5 字符串39
3.6 算术表达式40
3.6.1 运算符的优先级40
3.6.2 整数运算和一元负号运算符41
3.6.3 模运算符42
3.6.4 整型值和浮点值的相互转换43
3.6.5 类型转换运算符44
3.7 表达式44
3.7.1 常量表达式44
3.7.2 条件运算符45
3.7.3 sizeof运算符45
3.7.4 关系运算符46
3.7.5 强制类型转换运算符46
3.8 位运算符47
3.8.1 按位与运算符47
3.8.2 按位或运算符48
3.8.3 按位异或运算符48
3.8.4 一次求反运算符49
3.8.5 向左移位运算符50
3.8.6 向右移位运算符50
3.8.7 总结Objective-C的运算符51
第4章 Swift语言基础52
4.1 Swift概述52
4.1.1 Swift的创造者52
4.1.2 Swift的优势52
4.1.3 最新的Swift 4.053
4.2 数据类型和常量54
4.2.1 int类型54
4.2.2 float类型55
4.2.3 double类型55
4.2.4 char类型55
4.2.5 字符常量55
4.3 变量和常量56
4.3.1 常量详解56
4.3.2 变量详解56
4.4 字符串和字符57
4.4.1 字符串字面量57
4.4.2 初始化空字符串58
4.4.3 字符串可变性58
4.4.4 值类型字符串58
4.4.5 计算字符数量59
4.4.6 连接字符串和字符59
4.4.7 字符串插值60
4.4.8 比较字符串60
4.4.9 Unicode61
4.5 流程控制63
4.5.1 for循环(1)63
4.5.2 for循环(2)64
4.5.3 while循环65
4.6 条件语句66
4.6.1 if语句66
4.6.2 switch语句67
4.7 函数68
4.7.1 函数的声明与调用68
4.7.2 函数的参数和返回值69
4.8 实战演练——使用Xcode创建Swift程序70
第5章 Cocoa Touch框架72
5.1 Cocoa Touch基础72
5.1.1 Cocoa Touch概述72
5.1.2 Cocoa Touch中的框架73
5.1.3 Cocoa Touch的优势73
5.2 iPhone的技术层73
5.2.1 Cocoa Touch层73
5.2.2 多媒体层76
5.2.3 核心服务层77
5.2.4 核心OS层78
5.3 Cocoa Touch中的框架78
5.3.1 Core Animation(图形处理)框架78
5.3.2 Core Audio(音频处理)框架79
5.3.3 Core Data(数据处理)框架79
5.4 Cocoa中的类80
5.4.1 核心类81
5.4.2 数据类型类82
5.4.3 UI界面类83
5.5 国际化85
第6章 Xcode Interface Builder界面开发86
6.1 Interface Builder基础86
6.2 和Interface Builder密切相关的库面板88
6.3 Interface Builder采用的方法88
6.4 Interface Builder中的故事板——Storyboarding89
6.4.1 推出的背景89
6.4.2 故事板的文档大纲90
6.4.3 文档大纲的区域对象91
6.5 创建一个界面91
6.5.1 对象库91
6.5.2 将对象加入到视图中92
6.5.3 使用IB布局工具93
6.6 定制界面外观95
6.6.1 使用属性检查器95
6.6.2 设置辅助功能属性95
6.6.3 测试界面96
6.7 iOS 11控件的属性96
6.8 实战演练——将设计界面连接到代码(双语实现:Objective-C版)97
6.8.1 打开项目97
6.8.2 输出口和操作98
6.8.3 创建到输出口的连接98
6.8.4 创建到操作的连接100
6.9 实战演练——将设计界面连接到代码(双语实现:Swift版)101
6.10 实战演练——纯代码实现UI设计102
第7章 使用Xcode编写MVC程序104
7.1 MVC模式基础104
7.2 Xcode中的MVC105
7.2.1 原理105
7.2.2 模板就是给予MVC的105
7.3 在Xcode中实现MVC106
7.3.1 视图106
7.3.2 视图控制器106
7.4 数据模型108
7.5 实战演练——使用模板Single View Application创建MVC程序(双语实现:Objective-C版)109
7.5.1 创建项目109
7.5.2 规划变量和连接110
7.5.3 设计界面112
7.5.4 创建并连接输出口和操作113
7.5.5 实现应用程序逻辑114
7.5.6 生成应用程序115
7.6 实战演练——使用模板Single View Application创建MVC程序(双语实现:Swift版)115
第8章 文本框和文本视图116
8.1 文本框(UITextField)116
8.1.1 文本框基础116
8.1.2 实战演练——控制是否显示TextField中信息116
8.1.3 实战演练——实现用户登录框界面118
8.1.4 实战演练——限制输入文本的长度119
8.1.5 实战演练——实现一个UITextField控件(Swift版)120
8.2 文本视图(UITextView)121
8.2.1 文本视图基础121
8.2.2 实战演练——拖动输入的文本122
8.2.3 实战演练——自定义设置文字的行间距122
8.2.4 实战演练——自定义UITextView控件的样式123
8.2.5 实战演练——在指定的区域中输入文本(Swift版)125
8.2.6 实战演练——通过文本提示被单击的按钮(双语实现:Objective-C版)126
8.2.7 实战演练——在屏幕中显示被单击的按钮(双语实现:Swift版)126
第9章 按钮和标签127
9.1 标签(UILabel)127
9.1.1 标签(UILabel)的属性127
9.1.2 实战演练——使用UILabel显示一段文本127
9.1.3 实战演练——为文字分别添加上划线、下划线和中划线129
9.1.4 实战演练——显示被触摸单词的字母130
9.1.5 实战演练——显示一个指定样式的文本(Swift版)130
9.2 按钮(UIButton)131
9.2.1 按钮基础132
9.2.2 实战演练——自定义设置按钮的图案132
9.2.3 实战演练——实现了一个变换形状动画按钮134
9.3 实战演练——联合使用文本框、文本视图和按钮(双语实现:Objective-C版)135
9.3.1 创建项目135
9.3.2 设计界面136
9.3.3 创建并连接输出口和操作140
9.3.4 实现按钮模板141
9.3.5 隐藏键盘142
9.3.6 实现应用程序逻辑144
9.3.7 总结执行145
9.4 实战演练——联合使用文本框、文本视图和按钮(双语实现:Swift版)145
9.5 实战演练——自定义一个按钮(Swift版)145
第10章 滑块、步进和图像147
10.1 滑块控件(UISlider)147
10.1.1 Slider控件的基本属性147
10.1.2 实战演练——使用素材图片实现滑动条特效148
10.1.3 实战演练——实现自动显示刻度的滑动条149
10.1.4 实战演练——实现各种各样的滑块150
10.1.5 实战演练——自定义实现UISlider控件功能(Swift版)152
10.2 步进控件(UIStepper)153
10.2.1 步进控件介绍153
10.2.2 实战演练——自定义步进控件的样式154
10.2.3 实战演练——设置指定样式的步进控件155
10.2.4 实战演练——使用步进控件自动增减数字(Swift版)156
10.3 图像视图控件(UIImageView)157
10.3.1 UIImageView的常用操作157
10.3.2 实战演练——实现图像的模糊效果157
10.3.3 实战演练——滚动浏览图片159
10.3.4 实战演练——实现一个图片浏览器160
10.3.5 实战演练——使用UIImageView控件(Swift版)162
第11章 开关控件和分段控件163
11.1 开关控件(UISwitch)163
11.1.1 开关控件基础163
11.1.2 实战演练——改变UISwitch的文本和颜色163
11.1.3 实战演练——显示具有开关状态的开关164
11.1.4 实战演练——显示一个默认打开的UISwitch控件165
11.1.5 实战演练——控制是否显示密码明文(Swift版)165
11.2 分段控件(UISegmentedControl)166
11.2.1 分段控件的属性和方法167
11.2.2 实战演练——使用UISegmentedControl控件168
11.2.3 实战演练——添加图标和文本170
11.2.4 实战演练——使用分段控件控制背景颜色171
11.2.5 实战演练——使用UISegmented Control控件(Swift版)172
11.3 实战演练——联合使用开关控件和分段控件(双版实现:Objective-C版)173
11.4 实战演练——联合使用开关控件和分段控件(双版实现:Swift版)175
第12章 Web视图控件、可滚动视图控件和翻页控件176
12.1 Web视图(UIWebView)176
12.1.1 Web视图基础176
12.1.2 实战演练——在UIWebView控件中调用JavaScript脚本177
12.1.3 实战演练——使用滑动条动态改变字体的大小178
12.1.4 实战演练——实现一个迷你浏览器工具179
12.1.5 实战演练——使用UIWebView控件加载网页(Swift版)181
12.2 可滚动的视图(UIScrollView)182
12.2.1 UIScrollView的基本用法182
12.2.2 实战演练——使用可滚动视图控件183
12.2.3 实战演练——滑动隐藏状态栏186
12.2.4 实战演练——使用UIScrollView控件(Swift版)186
12.3 翻页控件(UIPageControl)187
12.3.1 PageControll控件基础187
12.3.2 实战演练——自定义UIPageControl控件的外观样式188
12.3.3 实战演练——实现一个图片播放器189
12.3.4 实战演练——实现一个图片浏览程序191
12.3.5 实战演练——使用UIPageControl控件设置4个界面(Swift版)191
12.4 实战演练——联合使用开关、分段控件和Web视图控件(双语实现:Objective-C版)193
12.4.1 创建项目194
12.4.2 设计界面194
12.4.3 创建并连接输出口和操作196
12.4.4 实现应用程序逻辑197
12.4.5 调试运行200
12.5 实战演练——联合使用开关、分段控件和Web视图控件(双语实现:Swift版)200
第13章 提醒和操作表201
13.1 UIAlertController基础201
13.1.1 提醒视图201
13.1.2 操作表基础201
13.2 使用UIAlertController201
13.2.1 一个简单的对话框例子202
13.2.2 “警告”样式203
13.2.3 文本对话框203
13.2.4 上拉菜单205
13.2.5 释放对话框控制器207
13.3 实战演练207
13.3.1 实战演练——实现一个自定义操作表视图207
13.3.2 实战演练——分别自定义实现提醒表视图和操作表视图208
13.3.3 实战演练——自定义UIAlertController控件的外观209
13.3.4 实战演练——实现一个提醒框效果(Swift版)211
第14章 工具栏、日期选择器212
14.1 工具栏(UIToolbar)212
14.1.1 工具栏基础212
14.1.2 实战演练——联合使用UIToolBar和UIView213
14.1.3 实战演练——自定义UIToolBar控件的颜色和样式214
14.1.4 实战演练——创建一个带有图标按钮的工具栏215
14.1.5 实战演练——使用UIToolbar制作一个网页浏览器(Swift版)216
14.2 选择器视图(UIPickerView)218
14.2.1 选择器视图基础218
14.2.2 实战演练——实现两个UIPickerView控件间的数据依赖219
14.2.3 实战演练——自定义一个选择器(双语实现:Objective-C实现)222
14.2.4 实战演练——自定义一个选择器(双语实现:Swift版)229
14.2.5 实战演练——实现一个单列选择器229
14.2.6 实战演练——实现一个“星期”选择框230
14.3 日期选择控件(UIDatePicker)231
14.3.1 UIDatePicker基础231
14.3.2 实战演练——使用UIDatePicker控件(Swift版)233
14.3.3 实战演练——实现一个日期选择器234
14.3.4 实战演练——使用日期选择器自动选择一个时间240
第15章 表视图(UITable)242
15.1 表视图基础242
15.1.1 表视图的外观242
15.1.2 表单元格242
15.1.3 添加表视图242
15.1.4 UITableView详解244
15.2 实战演练246
15.2.1 实战演练——自定义UITableViewCell246
15.2.2 实战演练——在表视图中动态操作单元格(Swift版)249
15.2.3 实战演练——拆分表视图(双语实现:Objctive-C版)251
15.2.4 实战演练——拆分表视图(双语实现:Swift版)252
第16章 活动指示器、进度条和检索条253
16.1 活动指示器(UIActivityIndicatorView)253
16.1.1 活动指示器基础253
16.1.2 实战演练——自定义UIActivity IndicatorView控件的样式253
16.1.3 实战演练——自定义活动指示器的显示样式255
16.1.4 实战演练——实现不同外观的活动指示器效果258
16.1.5 实战演练——使用UIActivity Indicator View控件(Swift版)259
16.2 进度条(UIProgressView)260
16.2.1 进度条基础261
16.2.2 实战演练——自定义进度条的外观样式261
16.2.3 实战演练——实现多个具有动态条纹背景的进度条261
16.2.4 实战演练——自定义一个指定外观样式的进度条264
16.2.5 实战演练——实现自定义进度条效果(Swift版)268
16.3 检索条(UISearchBar)269
16.3.1 检索条基础269
16.3.2 实战演练——在查找信息输入关键字时实现自动提示功能270
16.3.3 实战演练——实现文字输入的自动填充和自动提示功能273
16.3.4 实战演练——使用检索控件快速搜索信息274
16.3.5 实战演练——使用UISearchBar控件(Swift版)277
16.3.6 实战演练——在表视图中实现信息检索(双语实现:Objective-C版)278
16.3.7 实战演练——在表视图中实现信息检索(双语实现:Swift版)281
第17章 UIView详解282
17.1 UIView基础282
17.1.1 UIView的结构282
17.1.2 视图架构284
17.1.3 视图层次和子视图管理284
17.1.4 视图绘制周期285
17.1.5 UIView的常见应用285
17.2 实战演练286
17.2.1 实战演练——给任意UIView视图四条边框加上阴影286
17.2.2 实战演练——给UIView加上各种圆角、边框效果287
17.2.3 实战演练——使用UIView控件实现弹出式动画表单效果288
17.2.4 实战演练——创建一个滚动图片浏览器(Swift版)289
17.2.5 实战演练——创建一个产品展示列表(双语实现:Objctive-C版)290
17.2.6 实战演练——创建一个产品展示列表(双语实现:Swift版)291
第18章 视图控制器292
18.1 导航控制器(UIViewController)基础292
18.1.1 UIViewController的常用属性和方法292
18.1.2 实战演练——实现可以移动切换的视图效果293
18.1.3 实战演练——实现手动旋转屏幕的效果293
18.2 使用UINavigationController294
18.2.1 UINavigationController详解295
18.2.2 实战演练——实现一个界面导航条功能296
18.2.3 实战演练——创建主从关系的“主-子”视图(Swift版)299
18.2.4 实战演练——使用导航控制器展现3个场景(双语实现:Objective-C版)300
18.2.5 实战演练——使用导航控制器展现3个场景(双语实现:Swift版)303
18.3 选项卡栏控制器304
18.3.1 选项卡栏和选项卡栏项304
18.3.2 实战演练——使用选项卡栏控制器构建3个场景306
18.3.3 实战演练——使用动态单元格定制表格行310
18.3.4 实战演练——开发一个界面选择控制器(Swift版)311
第19章 实现多场景和弹出框313
19.1 多场景故事板313
19.1.1 多场景故事板基础313
19.1.2 创建多场景项目314
19.1.3 实战演练——实现多个视图之间的切换317
19.1.4 实战演练——使用第二个视图来编辑第一个视图中的信息(双语实现:Objective-C版)320
19.1.5 实战演练——使用第二个视图来编辑第一个视图中的信息(双语实现:Swift版)323
第20章 UIColletionView和UIVisualEffectView控件324
20.1 UICollectionView控件详解324
20.1.1 UICollectionView的构成324
20.1.2 实现一个简单的UICollectionView325
20.1.3 自定义的UICollectionViewLayout327
20.1.4 实战演练——使用UICollectionView控件实现网格效果328
20.1.5 实战演练——实现大小不相同的网格效果331
20.1.6 实战演练——实现不同颜色方块的布局效果(Swift版)333
20.2 UIVisualEffectView控件详解333
20.2.1 UIVisualEffectView基础334
20.2.2 使用Visual Effect View控件实现模糊特效335
20.2.3 使用Visual Effect View实现Vibrancy效果336
20.2.4 实战演练——在屏幕中实现模糊效果337
20.2.5 实战演练——在屏幕中实现遮罩效果338
20.2.6 实战演练——编码实现指定图像的模糊效果(Swift版)339
第21章 iPad弹出框和分割视图控制器341
21.1 iPad弹出框控制器(UIPopoverPresentationController)341
21.1.1 创建弹出框341
21.1.2 创建弹出切换341
21.1.3 实战演练——弹出模态视图342
21.2 探索分割视图控制器343
21.2.1 分割视图控制器基础343
21.2.2 实战演练——使用表视图(双语实现:Objective-C版)345
21.2.3 实战演练——使用表视图(双语实现:Swift版)349
21.2.4 实战演练——创建基于主从关系的分割视图(Swift版本)350
第22章 界面旋转、大小和全屏处理352
22.1 启用界面旋转352
22.1.1 界面旋转基础352
22.1.2 实战演练——实现界面自适应(Swift版)353
22.1.3 实战演练——设置界面实现自适应(双语实现:Objective-C版)354
22.1.4 实战演练——设置界面实现自适应(双语实现:Swift版)354
22.2 设计可旋转和可调整大小的界面355
22.2.1 自动旋转和自动调整大小355
22.2.2 调整框架355
22.2.3 切换视图355
22.2.4 实战演练——使用Interface Builder创建可旋转和调整大小的界面355
22.2.5 实战演练——在旋转时调整控件357
22.2.6 实战演练——旋转时切换视图360
22.2.7 实战演练——实现屏幕视图的自动切换(Swift版)363
第23章 图形、图像、图层和动画364
23.1 图形处理364
23.1.1 iOS的绘图机制364
23.1.2 实战演练——在屏幕中绘制一个三角形365
23.1.3 实战演练——使用CoreGraphic实现绘图操作366
23.2 图像处理368
23.2.1 实战演练——实现颜色选择器/调色板功能368
23.2.2 实战演练——在屏幕中绘制一个图像369
23.3 图层369
23.3.1 视图和图层369
23.3.2 实战演练——实现图片、文字以及翻转效果370
23.3.3 实战演练——滑动展示不同的图片371
23.3.4 实战演练——演示CALayers图层的用法(Swift版)371
23.4 实现动画372
23.4.1 UIImageView动画372
23.4.2 视图动画UIView372
23.4.3 Core Animation详解376
23.4.4 实战演练——实现UI View分类动画效果376
23.4.5 实战演练——动画样式显示电量使用情况378
23.4.6 实战演练——图形图像的人脸检测处理(Swift版)381
23.4.7 实战演练——联合使用图像动画、滑块和步进控件(双语实现:Objective-C版)382
23.4.8 实战演练——联合使用图像动画、滑块和步进控件(双语实现:Swift版)390
第24章 多媒体开发391
24.1 使用AudioToolbox框架391
24.1.1 声音服务基础391
24.1.2 实战演练——播放指定的声音文件392
24.1.3 实战演练——播放任意位置的音频393
24.2 提醒和振动393
24.2.1 播放提醒音394
24.2.2 实战演练——实现两种类型的振动效果(Swift版)394
24.2.3 实战演练——实用iOS的提醒功能395
24.3 AV Foundation框架401
24.3.1 准备工作402
24.3.2 使用AV音频播放器402
24.3.3 实战演练——使用AV Foundation框架播放视频402
24.3.4 实战演练——使用AVAudioPlayer播放和暂停指定的MP3播放(Swift版)403
24.3.5 实战演练——使用AVKit框架播放列表中的视频404
24.3.6 实战演练——使用AVKit框架播放本地视频405
24.3.7 实战演练——使用AVKit框架播放网络视频406
24.4 图像选择器(UIImagePickerController)407
24.4.1 使用图像选择器407
24.4.2 实战演练——获取照片库的图片407
第25章 分屏多任务410
25.1 分屏多任务基础410
25.1.1 分屏多任务的开发环境410
25.1.2 Slide Over和Split View基础411
25.1.3 画中画412
25.2 实战演练413
25.2.1 实战演练——使用SlideOver多任务(Swift版)413
25.2.2 实战演练——使用SplitView多任务(Swift版)415
25.2.3 实战演练——开发一个分割多视图浏览器(Swift版)419
第26章 定位处理422
26.1 iOS模拟器调试定位程序的方法422
26.2 Core Location框架423
26.2.1 Core Location基础423
26.2.2 使用流程423
26.2.3 实战演练——定位显示当前的位置信息(Swift版)425
26.3 获取位置428
26.3.1 位置管理器委托429
26.3.2 获取航向430
26.3.3 实战演练——定位当前的位置信息431
26.4 加入地图功能432
26.4.1 Map Kit基础432
26.4.2 为地图添加标注433
26.4.3 实战演练——在地图中定位当前的位置信息(Swift版)434
26.4.4 实战演练——在地图中绘制导航线路435
26.5 实战演练——创建一个支持定位的应用程序(双语实现:Objective-C版)436
26.5.1 创建项目437
26.5.2 设计视图438
26.5.3 创建并连接输出口438
26.5.4 实现应用程序逻辑438
26.5.5 生成应用程序440
26.6 实战演练——创建一个支持定位的应用程序(双语实现:Swift版)440
26.7 实战演练——实现地图定位(双语实现:Objective-C版)441
26.8 实战演练——实现地图定位(双语实现:Swift版)442
第27章 读写应用程序数据443
27.1 iOS应用程序和数据存储443
27.2 用户默认设置444
27.3 设置束444
27.3.1 设置束基础444
27.3.2 实战演练——通过隐式首选项实现一个手电筒程序(双语实现:Objective-C版)445
27.3.3 实战演练——通过隐式首选项实现一个手电筒程序(双语实现:Swift版)448
27.4 直接访问文件系统448
27.4.1 应用程序数据的存储位置449
27.4.2 获取文件路径449
27.4.3 读写数据450
27.4.4 读取和写入文件450
27.4.5 通过plist文件存取文件452
27.4.6 保存和读取文件453
27.4.7 文件共享和文件类型453
27.4.8 实战演练——实现一个用户信息收集器(双语实现:Objective-C版)454
27.4.9 实战演练——实现一个用户信息收集器(双语实现:Swift版)457
27.5 核心数据(Core Data)458
27.5.1 Core Data基础458
27.5.2 实战演练——使用CoreData动态添加、删除数据459
27.6 互联网数据460
27.6.1 XML和JSON460
27.6.2 实战演练——使用JSON获取网站中的照片信息463
第28章 触摸、手势识别和Force Touch466
28.1 多点触摸和手势识别基础466
28.2 触摸处理466
28.2.1 触摸事件和视图467
28.2.2 iOS中的手势操作469
28.2.3 实战演练——触摸的方式移动视图470
28.2.4 实战演练——触摸挪动彩色方块(Swift版)470
28.3 手势处理474
28.3.1 手势处理基础474
28.3.2 实战演练——识别手势并移动屏幕中的方块(Swift版)477
28.3.3 实战演练——实现一个手势识别器(双语实现:Objective-C版)480
28.3.4 实战演练——实现一个手势识别器(双语实现:Swift版)485
28.4 全新感应功能——Force Touch(3D Touch)技术485
28.4.1 Force Touch介绍486
28.4.2 Force Touch APIs介绍486
28.4.3 实战演练——使用Force Touch487
28.4.4 实战演练——启动Force Touch触控面板489
28.4.5 实战演练——为应用程序添加3D Touch手势(Swift版)489
第29章 和硬件之间的操作491
29.1 加速计和陀螺仪491
29.1.1 加速计基础491
29.1.2 陀螺仪493
29.1.3 实战演练——使用Motion传感器(Swift版)494
29.1.4 实战演练——检测倾斜和旋转(双语实现:Objective-C版)495
29.1.5 实战演练——检测倾斜和旋转(双语实现:Swift版)499
29.2 访问朝向和运动数据500
29.2.1 两种方法500
29.2.2 实战演练——检测当前设备的朝向(双语实现:Objective-C版)502
29.2.3 实战演练——检测当前设备的朝向(双语实现:Swift版)503
第30章 地址簿、邮件、Twitter和短消息504
30.1 Contacts Framework框架504
30.1.1 Contacts框架的主要构成类504
30.1.2 使用Contact框架505
30.1.3 实战演练——使用Contacts框架获取通信录信息505
30.2 Message UI电子邮件507
30.2.1 Message UI基础507
30.2.2 实战演练——使用Message UI发送邮件(Swift版)508
30.3 使用Twitter发送推特信息509
30.3.1 Twitter基础509
30.3.2 实战演练——开发一个Twitter客户端(Swift版)509
30.4 实战演练——联合使用地址簿、电子邮件、Twitter和地图(双语实现:Objective-C版)511
30.4.1 创建项目511
30.4.2 设计界面512
30.4.3 创建并连接输出口和操作512
30.4.4 实现通信录逻辑513
30.4.5 实现地图逻辑513
30.4.6 实现电子邮件逻辑514
30.4.7 实现Twitter逻辑514
30.4.8 调试运行514
30.5 实战演练——联合使用地址簿、电子邮件、Twitter和地图(双语实现:Swift版)515
30.6 使用Messages.framework框架515
30.6.1 Messages.framework框架介绍515
30.6.2 实战演练——调用并使用Messages.framework框架(Swift版)515
第31章 开发通用的项目程序517
31.1 开发通用应用程序517
31.1.1 在iOS 6中开发通用应用程序517
31.1.2 在iOS 6+中开发通用应用程序518
31.1.3 图标文件524
31.1.4 启动图像524
31.2 实战演练——使用通用程序模板创建通用应用程序(双语实现:Objective-C版)524
31.2.1 创建项目525
31.2.2 设计界面525
31.2.3 创建并连接输出口526
31.2.4 实现应用程序逻辑526
31.3 实战演练——使用通用程序模板创建通用应用程序(双语实现:Swift版)527
31.4 实战演练——使用视图控制器527
31.4.1 创建项目527
31.4.2 设计界面528
31.4.3 创建并连接输出口528
31.4.4 实现应用程序逻辑528
31.4.5 生成应用程序529
31.5 实战演练——使用多个目标529
31.5.1 将iPhone目标转换为iPad目标529
31.5.2 将iPad目标转换为iPhone目标530
31.6 实战演练——创建基于“主—从”视图的应用程序530
31.6.1 创建项目530
31.6.2 调整iPad界面531
31.6.3 调整iPhone界面532
31.6.4 实现应用程序数据源533
31.6.5 实现主视图控制器535
31.6.6 实现细节视图控制器536
31.6.7 调试运行537
第32章 推服务和多线程538
32.1 推服务538
32.1.1 推服务介绍538
32.1.2 推服务的机制539
32.1.3 iOS中PushNotificationIOS远程推送的主要方法539
32.1.4 在iOS中实现远程推送通知的步骤540
32.1.5 实战演练——在iOS系统中发送3种形式的通知543
32.2 多线程545
32.2.1 多线程基础545
32.2.2 iOS中的多线程547
32.2.3 线程的同步与锁551
32.2.4 线程的交互552
32.3 ARC机制553
32.3.1 ARC概述553
32.3.2 ARC中的新规则554
32.4 实战演练——实现后台多线程处理(双语实现:Objective-C版)554
32.5 实战演练——实现后台多线程处理(双语实现:Swift版)556
第33章 Touch ID详解557
33.1 开发Touch ID应用程序557
33.1.1 Touch ID的官方资料557
33.1.2 开发Touch ID应用程序的步骤558
33.2 实战演练——使用Touch ID认证559
33.3 实战演练——使用Touch ID密码和指纹认证560
33.4 实战演练——Touch ID认证的综合演练564
第34章 使用CocoaPods依赖管理567
34.1 使用CocoaPods基础567
34.2 安装CocoaPods567
34.2.1 基本安装567
34.2.2 快速安装568
34.3 使用CocoaPods568
34.3.1 在自己的项目中使用CocoaPods568
34.3.2 为自己的项目创建podspec文件570
34.3.3 生成第三方库的帮助文档571
34.4 实战演练——打开一个用CocoaPods管理的开源项目571
第35章 使用扩展(Extension)574
35.1 扩展(Extension)基础574
35.1.1 扩展的生命周期574
35.1.2 扩展和容器应用的交互575
35.2 实战演练——使用Photo Editing Extension(照片扩展)575
35.3 实战演练——使用TodayExtension(今日提醒扩展)581
35.4 实战演练——使用Action Extension翻译英文583
35.5 实战演练——使用Share Extension扩展实现分享功能586
第36章 游戏开发592
36.1 Sprite Kit框架基础592
36.1.1 Sprite Kit的优点和缺点592
36.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择592
36.2 实战演练——开发一个Sprite Kit游戏程序593
36.3 实战演练——开发一个射击游戏601
第37章 watchOS 4智能手表开发607
37.1 Apple Watch介绍607
37.2 WatchKit开发详解608
37.2.1 搭建WatchKit开发环境608
37.2.2 WatchKit架构609
37.2.3 WatchKit布局610
37.2.4 Glances和Notifications(快速预览信息)610
37.2.5 Watch App的生命周期611
37.3 开发Apple Watch应用程序612
37.3.1 创建Watch应用612
37.3.2 创建Glance界面612
37.3.3 自定义通知界面612
37.3.4 配置Xcode项目613
37.4 实战演练——实现AppleWatch垂直列表界面布局615
37.5 实战演练——演示AppleWatch的日历事件616
37.6 实战演练——在手表中控制小球的移动620
37.7 实战演练——实现一个倒计时器621
第38章 HealthKit健康应用开发623
38.1 HealthKit基础623
38.1.1 HealthKit介绍623
38.1.2 市面中的HealthKit应用现状623
38.1.3 接入HealthKit的好处624
38.2 HealthKit开发基础624
38.2.1 HealthKit开发要求624
38.2.2 HealthKit开发思路625
38.3 实战演练——读写HealthKit数据信息626
38.4 实战演练——心率检测(Swift版)626
38.5 实战演练——获取行走的步数629
38.6 实战演练——获取步数、跑步距离、体重和身高(Swift版)630
第39章 在程序中加入Siri功能632
39.1 Siri基础632
39.1.1 iOS中的Siri632
39.1.2 HomneKit中的Siri指令632
39.2 在iOS应用程序中使用Siri633
39.2.1 iOS对生态整合与Extension开发的努力633
39.2.2 Siri功能将以Extension扩展的形式存在633
39.2.3 创建Intents Extension634
39.3 实战演练——在iOS程序中使用Siri638
39.4 实战演练——在支付程序中使用Siri(Swift版)641
第40章 开发tvOS程序645
40.1 tvOS开发基础645
40.1.1 tvOS系统介绍645
40.1.2 tvOS开发方式介绍645
40.1.3 打开遥控器的模拟器646
40.2 使用Custom App方式646
40.2.1 Custom App方式介绍646
40.2.2 实战演练——开发一个简单的按钮响应程序(Swift版)646
40.2.3 实战演练——开发一个猜谜游戏(Swift版)647
40.2.4 实战演练——在tvOS中使用表视图(Swift版)649
40.3 使用TVML Apps方式650
40.3.1 使用TVML Apps方式开发651
40.3.2 实战演练——开发一个可响应的tvOS程序(Swift版)659
40.3.3 实战演练——电影播放列表(Swift版)663
第41章 使用Apple Pay665
41.1 Apple Pay介绍665
41.2 Apple Pay开发基础665
41.2.1 Apple Pay支付流程665
41.2.2 配置开发环境666
41.2.3 创建支付请求667
41.2.4 授权支付669
41.2.5 处理支付671
41.3 实战演练——Apple Pay接入应用程序671
41.3.1 准备工作671
41.3.2 具体实现672
41.4 实战演练——使用图标接入Apple Pay676
41.5 实战演练——使用图标接入Apple Pay(Swift版)678
第42章 开发AR虚拟现实程序681
42.1 虚拟现实和增强现实681
42.2 使用ARKit681
42.2.1 ARKit框架基础681
42.2.2 ARKit与SceneKit的关系682
42.2.3 ARKit的工作原理682
42.3 实战演练——自定义实现飞机飞行场景的AR效果683
42.3.1 准备工作683
42.3.2 具体实现684
42.4 实战演练——实现3种AR特效捕捉功能686
42.4.1 实现水平捕捉功能686
42.4.2 实现飞机随镜头飞行效果688
42.4.3 实现环绕飞行效果688
42.5 实战演练——实现5种AR特效(Swift版)689
第43章 tvOS电影库系统695
43.1 tvOS电影库系统介绍695
43.2 系统介绍695
43.3 使用Objective-C实现697
43.4 使用Swift实现703
43.5 系统扩展——优酷和土豆视频703
第44章 分屏多视图播放器704
44.1 分屏多视图系统介绍704
44.2 创建工程704
44.3 分屏具体实现705
44.3.1 实现主视图界面705
44.3.2 显示某个视频的基本信息708
44.3.3 播放视频709
44.3.4 播放网页嵌入式视频711