过阅读本书,你将能够:
了解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
《超体能健身》内容简介:本书将通过8个简单的步骤,帮助你重返自己的最佳状态。这套健身计划十分简单,不用花太多钱,你就能达到健
CiscoIPv6网络实现技术 本书特色 本书面向企业和提供商市场的专业人员,如规划人员、网络设计者、系统工程师、网络经理、管理员以及任何技术人员。本书是一本中...
《精通HTML5+CSS3+JavaScript网页设计(视频教学版)(第2版)》内容简介:HTML5、CSS3和JavaScript技术是网页设计的精髓,本书...
Thisbookintroducesdesignthinking,thecollaborativeprocessbywhichthedesigner’ssens...
ExpertSolutionsandState-of-the-ArtCodeExamplesSOAUsingJava™WebServicesisahands-o...
《诗的时光书:当你老了》内容简介:以被艾略特誉为“当代最伟大的诗人”的叶芝开篇,这本书为读者打开了西方诗歌经典之门。作者精
《数码单反摄影从新手到高手》内容简介:本书是专门为单反摄影初学者编写的一本相机设置、操控与实拍运用指南,帮助你深入了解单反
书围绕着动态内存自动回收的话题,介绍了垃圾收集机制,详细分析了各种算法和相关技术。本书共12章。第1章首先介绍计算机存储器管
《写给大忙人看的JavaSE8》向Java开发人员言简意赅地介绍了Java8的许多新特性(以及Java7中许多未被关注的特性),《写给大忙人看
《明代复古的众声与别调》内容简介:本书意在改变现明诗研究以作家作品为主体、按时代展开的叙述方式和研究思路,通过对明诗演进历
《中国法制史》内容简介:中国法制史是研究中国法制发生、发展、演变及其规律的学科。它是中国制度史的一部分,是法学体系中的独立
《跨海之战》内容简介:金门、海南和一江山三次跨海之战经历了一个相当复杂的过程。以三次战争为线索,体现国共双方在战略方针的较
《完美教学:素描基础入门108例》内容简介:每一个人都有绘画的天赋。拿起笔,你也能快速画出生动的画面。这本书从专业的角度告诉我
Creativityisaninnatehumanimpulse,manypeoplebelieve,somethingwe’rebornwithbuttooo...
《转型:工业4.0时代的按需印刷》内容简介:当前,全球制造业正加速进入数字化、智能化时代,在这样波澜壮阔的大背景下,积极转型,
NicholasC.Zakas是一名前端开发顾问、作者和演讲家。在Yahoo!供职超过5年时间,在这期间他曾是Yahoo!首页首席前端工程师和YUI库
《Go语言从入门到进阶实战(视频教学版)》内容简介:本书采用“理论+实例”的形式编写,通过大量的实例,结合作者多年的一线开发实
《竹简《文子》研究之回顾与反思》内容简介:本书共分五个章节,依次为:一、竹简《文子》研究;二、竹简《文字》成书年代反思;三
《物联网与智慧城市》内容简介:本书立足城市信息化变革需求和信息技术发展推动,结合物联网与智慧城市的发展现状和技术趋势,对智
我们大部分的经验都来自视觉,我们活得的几乎所有信息和知识也都来自视觉,我们所作出的判断和决定也所由视觉决定的,我们的娱乐