过阅读本书,你将能够:
了解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
数据库系统基础教程-原书第3版 本书特色 《数据库系统基础教程(原书第3版)》特点:全面改版的组织结构。UML数据库模型的新内容。包括3NF综合算法在内的操作依...
网页认证设计师 Illustrator 9标准培训教程 本书特色 本书属于《图形图像设计专家》丛书,是Adobe授权培训管理中心指定培训教材,由Adobe资深认...
《铅笔素描绘制详解——质感表现技法》内容简介:质,是指物体的物质属性。不同的物质给人以不同的视觉感知,这就是质感。素描绘画
本书集中介绍了信息论、信源编码、信道编码和密码等方面的知识,不仅内容丰富,而且技术深度适当。适合作为高等学校信息安全、电
《中国近代铁路事业管理研究》内容简介:本书是台湾学者张瑞德早年的著作,曾由台北“中研院”近代史研究所于1991年出版,列入该所
服务器端JavaScript?没错。Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多
GetaquickintroductiontoWebGL,thenewstandardfor3Drenderingontheweb.WithWebGL,webd...
地理信息系统导论-(原著第五版)-(含光盘) 本书特色 《地理信息系统导论(原著第5版)》:经典教材 多次再版 同步引进畅销8年,中译本(原著第1版、第3版)发...
《创业不可不防的法律风险》内容简介:我国民营企业的平均寿命只有2.9年,而日本、美国的数据是我们的十多倍。主要原因在于许多创业
《自己动手制作软体机器人》内容简介:软体机器人技术是一个新兴的领域,它以新的方式接近机器人,使机器人能够在非结构化或不稳定
《FPGA Verilog开发实战指南:基于Inter Cyclone IV(进阶篇)》内容简介:在《FPGA Verilog开发实战指南:基于Intel Cy...
《即时记忆:快速记忆训练法》内容简介:在本书中,记忆大师迈克尔·蒂珀将通过久经考验的技巧来指导你,以提高你的记忆力和回忆力
《人工智能极简编程入门(基于Python)》内容简介:本书尝试介绍一个新的学习主张,用以帮助初学者轻松而高效地入门人工智能这一专
《天津滨海新区史话》内容简介:天津滨海新区地处海河下游、渤海湾西岸,河海相依,临海近都,区位优越。这里曾是中国人民抗击外侮
Learningprofessionalsarefindingsuccessapplyinggame-basedsensibilitiestothedevelo...
《卑鄙的圣人:曹操6》内容简介:一件件讲透,曹操收拾三国群雄的卑鄙、奸诈、狠毒计谋; 一页页浸透,曹操体恤天下众生的柔情、仁
《GNU/LINUX环境编程(第2版)》详细介绍如何开发可以运行于GNU/Linux操作系统的应用程序,经过全面修订的第2版涵括所有必要的工具
《活着,就要无声炸裂》内容简介:这是一本让年轻人小宇宙爆发的力量之书。人气博主南顾用自己的亲身经历写下颠沛流离的青春、肆意
《本草纲目使用手册》内容简介:《本草纲目使用手册》试图通过对《本草纲目》一书的内容进行重新梳理和诠释解读,就是希望能够为广
《和秋叶一起学Word(第3版)》内容简介:Word、PPT、Excel,哪一个值得你花精力去学习? 我认为是Word,因为Word软件的使用频率高