过阅读本书,你将能够:
了解OS X和iOS应用的生命周期
使用故事板设计自适应界面
探索图形系统,包括内置的2D和3D游戏框架
用AVFoundation显示视频和音频
用文件系统在本地存储数据,或者用iCloud在网络上存储数据
用表格视图和集合视图显示数据列表或数据集合
开发可供用户创建、编辑和处理文档的应用
使用MapKit、Core Location和Core Motion与现实世界交互
前言XIII
第1章 Cocoa开发工具1
1.1 Mac和iOS开发者计划1
1.1.1 注册开发者计划2
1.1.2 下载Xcode3
1.2 用Xcode创建自己的第一个项目4
1.3 开发一个简单的Swift应用程序11
1.3.1 设计界面11
1.3.2 连接代码13
1.4 使用iOS模拟器14
1.5 用TestFlight测试iOS App16
第2章 用Swift设计程序17
2.1 Swift程序设计语言17
2.2 playground19
2.3 变量和常量20
2.4 类型21
2.4.1 元组23
2.4.2 数组23
2.4.3 字典25
2.5 控制流25
2.6 函数与闭包29
2.6.1 将函数用作变量32
2.6.2 闭包34
2.7 对象35
2.7.1 继承36
2.7.2 初始化与反初始化37
2.7.3 属性38
2.7.4 协议40
2.7.5 扩展41
2.7.6 访问控制43
2.7.7 运算符44
2.7.8 泛型45
2.8 与Objective-C的互操作46
2.9 在同一项目中使用Objective-C和Swift46
2.9.1 在Objective-C中使用Swift对象46
2.9.2 在Swift中使用Objective-C47
2.10 模块48
2.11 内存管理48
2.12 字符串49
2.12.1 比较字符串50
2.12.2 查找字符串50
2.13 数据50
2.13.1 从文件和URL加载数据51
2.13.2 序列化与反序列化51
2.14 Cocoa中的设计模式52
2.14.1 模型- 视图- 控制器52
2.14.2 委托53
第3章 OS X和iOS上的应用程序56
3.1 什么是应用程序56
3.1.1 应用程序、框架、实用工具及其他57
3.1.2 App的构成58
3.1.3 用NSBundle在应用程序中查找资源60
3.2 应用程序生命周期61
3.2.1 OS X应用程序61
3.2.2 iOS应用程序62
3.3 应用程序沙盒67
3.4 用NSNotification发送通知70
第4章 图形用户界面72
4.1 OS X和iOS中的界面72
4.2 MVC和应用程序设计73
4.3 nib文件和故事板73
4.3.1 nib文件的结构74
4.3.2 故事板77
4.3.3 输出口和操作77
4.3.4 如何加载nib文件和故事板78
4.4 构建界面79
4.5 构建具有nib和约束的App81
4.6 iOS上的界面84
4.7 UI Dynamics87
4.7.1 UI和重力87
4.7.2 吸附UI88
4.8 Core Animation89
4.8.1 层90
4.8.2 动画91
第5章 闭包和操作队列94
5.1 Cocoa中的闭包95
5.2 操作队列中的并发96
5.3 操作队列和NSOperation96
5.4 在操作队列中执行工作97
5.5 融会贯通98
第6章 在视图上绘制图形103
6.1 如何绘制103
6.2 像素网格105
6.2.1 Retina显示屏106
6.2.2 像素与屏幕点107
6.3 在视图中绘制107
6.3.1 框架矩形107
6.3.2 边界矩形108
6.4 创建自定义视图109
6.4.1 用纯色填充110
6.4.2 处理路径111
6.4.3 创建自定义路径112
6.4.4 多条子路径114
6.4.5 阴影115
6.4.6 渐变119
6.4.7 变换121
第7章 SpriteKit123
7.1 SpriteKit的体系结构123
7.2 制作使用SpriteKit的App124
7.3 使用SpriteKit场景125
7.4 SpriteKit节点127
7.5 将精灵放在场景中128
7.6 对触碰作出响应129
7.7 使用纹理130
7.8 纹理贴图集131
7.9 使用文本131
7.10 用操作实现内容的动画133
7.11 使用形状节点134
7.12 使用图像特效节点135
7.13 向SpirteKit对象增加物理属性137
7.14 向SpriteKit对象添加接合138
7.15 SpriteKit场景照明138
7.16 约束139
7.17 在SpriteKit中使用阴影140
7.18 使用SpriteKit编辑器142
第8章 SceneKit143
8.1 SceneKit结构144
8.2 使用SceneKit144
8.3 添加SceneKit视图145
8.4 添加场景146
8.5 添加照相机146
8.6 添加3D对象147
8.7 添加光源149
8.8 为场景中的内容实现动画150
8.9 创建文本几何体151
8.10 使用材料153
8.11 命中检测157
8.12 约束158
8.13 从COLLADA文件中加载数据160
8.14 向场景中添加物理仿真162
第9章 音频与视频165
9.1 AV Foundation165
9.2 用AVPlayer播放视频166
9.2.1 AVPlayerLayer167
9.2.2 融会贯通167
9.2.3 AVKit170
9.2.4 iOS上的AVKit172
9.2.5 用AVAudioPlayer播放声音174
9.3 语音合成175
9.4 使用照片库176
9.4.1 从相机采集照片和视频176
9.4.2 开发照片应用程序178
9.4.3 照片库181
第10章 iCloud和数据存储182
10.1 偏好设置182
10.1.1 注册默认偏好设置183
10.1.2 访问偏好设置184
10.1.3 设定偏好设置184
10.2 使用文件系统184
10.2.1 使用NSFileManager186
10.2.2 文件存储位置189
10.3 使用沙盒189
10.3.1 启用沙盒190
10.3.2 打开和保存面板190
10.3.3 安全范围内的书签191
10.4 iCould192
10.5 iCloud存储什么193
10.6 为iCloud进行设置194
10.7 测试iCloud是否正常工作194
10.8 存储设置195
10.8.1 处理外部修改196
10.8.2 iOS上的相应内容197
10.9 iCloud存储199
10.9.1 OS X上的iCloud存储200
10.9.2 iOS上的iCloud存储204
10.10 文档选取器206
10.11 iCloud的最佳使用210
第11章 Cocoa绑定211
11.1 将视图绑定到模型211
11.2 一个简单的绑定App212
11.3 绑定到控制器214
11.4 数组和对象控制器216
11.5 一个更复杂的绑定App216
第12章 表格视图和集合视图223
12.1 数据源和委托223
12.2 表格视图224
12.2.1 iOS上的UITableView224
12.2.2 OS X上的NSTableView231
12.3 集合视图236
第13章 基于文档的应用程序240
13.1 NSDocument和UIDocument类241
13.2 MVC 中的文档对象241
13.2.1 文档的类型241
13.2.2 文档的角色242
13.3 OS X上基于文档的应用程序243
13.3.1 自动保存与版本243
13.3.2 用NSDocument表示文档243
13.3.3 保存简单数据244
13.3.4 保存更复杂的数据246
13.4 iOS上基于文档的应用程序250
第14章 联网257
14.1 连接257
14.1.1 NSURL258
14.1.2 NSURLRequest259
14.1.3 NSURLSession259
14.1.4 NSURLResponse和NSHTTPURLResponse260
14.2 开发联网应用程序261
14.3 Bonjour服务的发现262
14.4 Multipeer Connectivity264
第15章 与现实世界互动269
15.1 使用位置269
15.1.1 位置硬件270
15.1.2 Core Location框架271
15.1.3 使用Core Location272
15.2 地理编码275
15.3 区域监测和iBeacon278
15.4 位置与隐私281
15.5 地图281
15.5.1 使用地图281
15.5.2 标记地图282
15.5.3 地图与覆盖物282
15.6 设备运动284
15.6.1 使用Core Motion285
15.6.2 使用内置高度计288
15.6.3 使用计步器289
15.7 打印文档290
15.7.1 在OS X 上打印291
15.7.2 在iOS 上打印291
15.8 Game Controller293
15.9 App Nap295
15.10 用Touch ID验证296
15.11 Handoff300
第16章 EventKit305
16.1 理解事件305
16.2 访问事件存储库306
16.3 访问日历307
16.4 访问事件307
16.5 处理事件308
16.6 开发一个事件应用程序310
16.7 用户隐私314
第17章 Instruments和调试器315
17.1 开始使用Instruments316
17.1.1 Instruments 界面318
17.1.2 观察数据318
17.1.3 从Library中添加Instruments319
17.2 用Instruments解决问题320
17.3 循环保留和漏洞324
17.4 使用调试器326
17.4.1 设置断点326
17.4.2 查看内存内容328
17.4.3 使用调试器控制台329
17.5 视图调试329
17.6 测试框架331
17.6.1 编写测试332
17.6.2 编写异步测试333
17.6.3 性能测试块334
17.7 调试仪表334
17.8 性能优化334
第18章 共享与通知336
18.1 共享336
18.2 在iOS上共享339
18.3 在OS X上共享341
18.4 通知342
18.4.1 注册通知设置342
18.4.2 推送通知347
18.4.3 通知到达时会发生什么347
18.5 发送推送通知348
18.6 设置接收推送通知349
18.7 接收推送通知350
18.8 本地通知352
第19章 非标准App354
19.1 命令行工具354
19.2 偏好设置窗格355
19.2.1 偏好设置窗格如何工作356
19.2.2 偏好设置域356
19.2.3 生成示例偏好设置窗格357
19.3 状态栏项目359
19.4 多窗口iOS App361
第20章 处理文本364
20.1 国际化与本地化364
20.1.1 字符串文件364
20.1.2 创建一个示例本地化应用程序365
20.2 用NSFormatter设定数据格式372
20.3 设定数字、长度、质量、能量和数据的格式374
20.3.1 NSNumberFormatter374
20.3.2 NSEnergyFormatter、NSMassFormatter 和NSLengthFormatter375
20.3.3 NSByteCountFormatter376
20.4 用NSDataDetector检测数据377
20.5 TextKit379
作者介绍382
封面介绍382
《纠错编码的艺术(第2版)》讲论了所有的关键主题,包括Reed-Solomon码、Viterbi译码、软输出译码算法、MAP、log-MAP和MAX-log-M...
《群星灿烂的年代》内容简介:最黑暗的地方,思想的自由之光最为闪耀 十九世纪俄罗斯“黄金时代”文学回忆录 别林斯基、普希金、赫
MATLAB计算机视觉与深度学习实战-赠在线交流卡和本书源码 本书特色 《MATLAB 计算机视觉与深度学习实战》详细讲解了 30 个 MATLAB 计算机视觉...
《瓜豆集》内容简介:《周作人自编集:瓜豆集》收录周作人一九三六年五月至十二月的作品。较之此前之作,内容上有些新的成分。正如
《Excel函数与公式标准教程:实战微课版》内容简介:《Excel函数与公式标准教程(实战微课版)》以微型实用办公案例的形式,对Exce
“设计师能否满足房主的需求,设计出好住有好看的家?”“如何运用家居设计,让日常生活更方便?”“照片里那种好看的家,真的可
《全国计算机等级考试一本通·二级C语言》内容简介:为了帮助考生在最短的时间内顺利通过计算机等级考试,全国计算机等级考试命题研
Inthisinnovativebook,ProfessorRobertHarperoffersafreshperspectiveonthefundamenta...
《国家主导型发展模式研究》内容简介:本书从发展型国家理论中提取分析框架,旨在剖析转型时期中国国家形态在政治经济关系上呈现的
TheGNUAutotoolsmakeiteasyfordeveloperstocreatesoftwarethatisportableacrossmanyUn...
KeyFeaturesTacklesdesignofproductsinthepost-Webworldwherecomputersnolongerhaveto...
Java成为世界上编程语言之一是有其优势的。熟悉JavaSE的程序员可以轻松地进入到JavaEE开发中,构建出安全、可靠和具有扩展性的企
耸立在这里的500帧生活·读书·新知三联书店出版物的书衣,是从人民出版社和三联书店资料室的书库里,查找并拍摄的两千余件书影中
《可能世界视域下的名称和同一性理论研究》内容简介:本书主要对克里普克可能世界视域下的名称理论和同一性理论展开阐述与研究,内
《人生散叶》内容简介:著名红学家冯其庸先生的散文自选集,全书分“往事如梦”“西域纪行”“屐痕处处”“剪烛情深”几个部分,以
《PHP 7从入门到精通(视频教学版)》内容简介:本书循序渐进地介绍了PHP 7开发动态网站的主要知识和技能,提供了大量的PHP应用实例
实用数据库教程 本书特色 《实用数据库教程》是数据库的*新教程,它包括数据库原理、数据库设计模式和数据库应用,共计3篇16章。其中第2篇的第6、7、8三章为数据...
《原来心可以跳舞》内容简介:女人的一生总是充满着各种磨难,因而这样的人生显得很长很长;而女人们的幸福,就会显得越发短暂。中
Fullofwriting,reports,andrecommendations,TheMonocleGuidetoBetterlivingisoriginal...
《打开餐巾纸(〈餐巾纸的背面〉之实用手册)》内容简介:难以置信,一张餐巾纸上曾诞生过这样的伟大创想:一个三角形,开创了美国