具体描述
要触及iOS 5系统的真实威力,需要跨过那些简单的工具和API,直达它的核心。韦尔奇编写的《iOS 5核心框架》将会向读者介绍如何使用Core Data和iCloud将信息存储到本地,同时又可以毫无障碍地在多个设备和平台之间进行同步;利用iOS 5最新的Twitter API,使用新的Accounts框架提供易用的Twitter和OAuth支持;使用定位服务来引入iOS 5的新功能,如反向地理编码解析查找以及区域通知。此外,《iOS 5核心框架》还将介绍如何在应用中集成丰富的媒体体验,如使用图形、动画、音频、视频以及Core Image提供的照片处理滤镜和分析工具。全书最后还会探索书报栏应用,讲解如何创建出自己的周期性内容,并将新内容推送到设备上。
《iOS 5核心框架》适合有一定开发经验的iOS开发人员阅读使用。
作者简介
目录信息
1.1 开始之前 2
1.1.1 阅读本书的前提条件 2
1.1.2 我期望本书达到的目标 4
1.2 iOS框架快速入门 5
1.3 了解多核处理器带来的冲击 8
1.3.1 对并发性的需求 9
1.3.2 操作队列与分发队列的对比 10
1.3.3 代码块 11
1.3.4 在iOS框架中使用代码块 13
1.4 iOS 5中的十大技术 14
1.5 小结 15
第1部分 数据与云 17
第2章 Core Data 18
2.1 Core Data入门 20
2.1.1 Core Data是什么 20
2.1.2 Core Data栈 21
2.2 在Xcode中设置Core Data 28
2.2.1 创建受控对象模型 29
2.2.2 创建新的持久化存储调度器 31
2.2.3 添加新的持久化存储 31
2.2.4 创建新的受控对象上下文 32
2.3 与Core Data互动 33
2.3.1 添加新对象 34
2.3.2 获取并修改对象 35
2.3.3 删除对象 36
2.3.4 撤销、重做、回滚和复位 37
2.4 小结 40
第3章 iCloud 42
3.1 iCloud入门 44
3.1.1 iCloud是如何工作的 44
3.1.2 开始之前 47
3.1.3 iCloud存储容器 51
3.1.4 使用iCloud的注意事项 52
3.2 键值对存储 53
3.2.1 使用键值对泛存 54
3.2.2 添加与删除对象 55
3.2.3 对变更通知做出响应 57
3.3 对Core Data进行同步 58
3.3.1 确认iCloud是否可用 59
3.3.2 设置iCloud对持久化存储进行同步 60
3.3.3 Core Data持久化存储的变更通知 61
3.4 iCloud文档存储 63
3.5 小结 64
第2部分 位置与账号服务 67
第4章 Core Location与地图开发包 68
4.1 Core Location与地图开发包入门 70
4.1.1 位置是如何确定的 71
4.1.2 定位权限 74
4.2 核心定位管理器 77
4.2.1 标准定位服务 78
4.2.2 显著位置变化监视功能 80
4.2.3 方向监测 81
4.2.4 区域监测 83
4.2.5 响应核心来自定位管理器的新信息 85
4.3 正、反向地理编码 86
4.3.1 地理编码的益处 86
4.3.2 地理编码的不足之处 87
4.3.3 正向地理编码 87
4.3.4 反向地理编码解析 90
4.4 使用地图开发包 91
4.5 小结 92
第5章 系统账号和原生Twitter API 94
5.1 系统账号和Twitter入门 96
5.1.1 理解OAuth服务 96
5.1.2 账号工作流 97
5.2 使用Accounts框架 99
5.2.1 新应用和Accounts框架 99
5.2.2 访问Accounts框架中的账号 101
5.2.3 将用户从现有应用迁移到Accounts框架中 103
5.2.4 特别关注 105
5.3 轻松Twitter:推文编写视图控制器 107
5.4 使用Twitter API 110
5.4.1 创建一个TWRequest对象 111
5.4.2 执行一个TWRequest 112
5.4.3 处理TWRequest的回应 114
5.5 小结 116
第3部分 图形、图像以及动画 117
第6章 Core Graphics 118
6.1 Core Graphics入门 120
6.1.1 Core Graphics与Quartz 2D 121
6.1.2 点与像素之对比 122
6.1.3 图形上下文 123
6.1.4 为什么使用Core Graphics 124
6.2 理解Core Graphics 125
6.2.1 绘制自定义UIView 125
6.2.2 图形上下文栈 127
6.3 路径、渐变、文字与图像 129
6.3.1 路径 130
6.3.2 渐变 132
6.3.3 文字 133
6.3.4 图像 134
6.4 小结 135
第7章 Core Image 136
7.1 Core Image入门 138
7.2 理解Core Image框架 141
7.2.1 Core Image处理静止图像与视频帧 143
7.2.2 Core Image滤镜 146
7.2.3 Core Image上下文 150
7.2.4 CPU渲染与GPU渲染的对比 151
7.2.5 分析图像 153
7.2.6 别阻塞了主线程 156
7.3 例子:Core Image编辑器 157
7.4 小结 160
第8章 Core Animation 162
8.1 Core Animation入门 164
8.2 通过UIKit使用Core Animation 166
8.2.1 通过动画上下文使用UIKit动画 166
8.2.2 通过动画代码块使用UIKit动画 167
8.3 理解自定义Core Animation效果 169
8.3.1 Core Animation图层 169
8.3.2 隐式动画和显式动画 170
8.3.3 Core Animation对象 171
8.3.4 我的第一个自定义动画 172
8.4 Core Animation示例 173
8.4.1 关键帧动画 173
8.4.2 3D变换 176
8.4.3 粒子发生器 179
8.5 小结 183
第4部分 多媒体:音频与视频 185
第9章 Core Audio 186
9.1 多媒体框架 188
9.2 音频入门 189
9.3 使用iPod音乐库 191
9.3.1 媒体选取控制器 192
9.3.2 音乐播放控制器 194
9.3.3 音乐播放器通知 195
9.4 使用其他来源的音频 196
9.4.1 AV Foundation音频会话 197
9.4.2 AV音频播放器 200
9.5 小结 203
第10章 AV Foundation 204
10.1 AV Foundation入门 206
10.1.1 为什么要用AV Foundation 206
10.1.2 AV Foundation及其他媒体相关框架 208
10.2 使用一揽子解决方案 209
10.2.1 UIImagePickerController 210
10.2.2 使用MPMoviePlayerController 215
10.3 创建自定义媒体捕捉解决方案 221
10.3.1 AVCaptureSession 221
10.3.2 AVCaptureVideoPreviewLayer 222
10.3.3 自定义图像捕捉方案 222
10.4 小结 228
第5部分 iOS 5书报栏应用 231
第11章 Newsstand Kit 232
11.1 Newsstand Kit入门 234
11.2 了解书报栏应用 238
11.3 用Newsstand Kit下载内容 240
11.3.1 启动新下载 241
11.3.2 处理下载进度和下载结束事件 243
11.3.3 更新书报栏应用的外观以反映新内容 245
11.4 给书报栏应用发通知 246
11.4.1 使用苹果公司推送通知服务 246
11.4.2 注册接收书报栏更新通知 247
11.4.3 书报栏推送通知的格式 248
11.4.4 响应远程通知 249
11.5 书报栏应用的特殊之处 250
11.5.1 从后台唤醒书报栏应用 250
11.5.2 重新连接弃置的下载项 251
11.6 小结 252
· · · · · · (收起)
读后感
用户评价
这本书的排版真是让人眼前一亮,那种经典的深蓝色调和清晰的字体搭配,拿在手里就感觉沉甸甸的,充满了专业的气息。我原本以为这本《iOS 5核心框架》会像很多技术书籍一样,堆砌着晦涩难懂的代码示例和官方文档的搬运,但事实完全出乎我的预料。作者在讲解每一个框架的底层逻辑时,似乎总能找到一种恰到好处的平衡点——既保证了技术深度,又用生活中的类比将复杂的概念变得通俗易懂。比如,在讲解 Core Animation 的图层渲染机制时,他没有直接抛出 OpenGL ES 的调用栈,而是用了一个制作多层玻璃雕塑的比喻,让我瞬间明白了 Z 轴和透明度混合是如何影响最终视觉效果的。尤其是关于通知中心(Notification Center)的设计模式讨论,那一段的分析细致入微,对 GCD(Grand Central Dispatch)在异步处理中的应用场景划分得极其清晰,即便是一个对多线程概念感到头疼的初学者,读完后也能胸有成竹地开始自己的并发编程实践。这种对细节的极致追求,使得这本书不仅仅是一本工具书,更像是一位资深架构师在你耳边进行一对一的辅导,处处透露着“这就是经验”的味道。
这本书的叙事风格非常“冷峻”,有一种早期黑客文化的影子,不卖弄花哨的特效,直击问题核心。它假定读者已经具备一定的编程基础,因此开篇并没有花费大量篇幅去解释什么是变量或循环。这种高效的切入方式,让原本厚重的技术内容显得紧凑而有力。特别是当涉及到一些更偏底层的领域,比如 Core Location 的电源管理优化,作者对传感器数据采集频率和功耗之间的取舍分析得极其透彻。他甚至引用了 Apple 在 WWDC 上的一些内部设计文档中的观点(当然是经过他自己的解读和重构的),这让内容的可信度大大增加。我曾经花了一整晚的时间,对照书中的示例代码,重新构建了一个我们项目中一直存在内存泄漏问题的模块,结果立竿见影。这种“学完即用,用即解决”的体验,是很多理论书籍无法给予的。它更像是一份精心校对过的“工程手册”,而不是一本闲书,需要你全神贯注,甚至需要边看边调试。
坦白说,我手里已经有不少关于早期 iOS 开发的书籍了,但大多停留在 API 的表面介绍,或者局限于某个特定领域的“黑魔法”。然而,这本《iOS 5核心框架》的野心明显不止于此。它更像是对整个 iOS 运行环境的一次深度解剖,探讨的不是“如何调用”某个 API,而是“为什么这样设计”。我特别欣赏作者在讨论数据持久化策略时,对 SQLite 封装层的批判性分析。他没有盲目推崇现成的 ORM 库,而是花了大量的篇幅去阐述在特定性能瓶颈下,如何通过定制化的数据库访问层来榨取每一分性能。读到关于 `NSOperationQueue` 与 `NSURLConnection` 结合使用,以实现带进度的网络批量下载时,我简直拍案叫绝。整个章节的逻辑组织非常严密,从资源管理到内存释放的每一个环节都考虑进去了,简直就是一本实战指南的典范。这种对系统底层机制的洞察力,让我在实际项目中遇到一些棘手的性能冻结问题时,能够迅速定位到可能是哪个框架的“副作用”在作祟,而不是仅仅停留在修改 UI 线程代码的层面。
如果用一个词来形容这本书给我的感受,那就是“扎实”。它不像近些年流行的那种碎片化、快速迭代的“速成指南”,而更像是一份经过时间沉淀的经典著作。书中的插图和流程图虽然设计风格略显朴素,但逻辑清晰到无可挑剔,每一个箭头、每一个方框都指向了关键的控制流或数据流向。我尤其欣赏作者在讲解数据模型转换时,对 `NSCoding` 协议实现细节的挖掘,探讨了版本控制和向后兼容性处理的各种“陷阱”。这些往往是教程中会略过,但在真实商业项目中却至关重要的细节。阅读完这本书,我感觉自己对 iOS 5 那个时代的系统设计哲学有了一种近乎“考古”般的理解,这不仅帮助我维护老项目时游刃有余,更重要的是,让我能以更深层次的眼光去审视现代 iOS 开发中的新特性,理解它们继承自哪些历史包袱,又在哪些方面做出了突破。这绝对是一本值得反复研读的案头宝典。
这本书的价值在于,它构建了一个完整的知识体系框架,而不是零散的知识点集合。阅读过程中,我清晰地感受到作者是如何将 UIKit 的事件响应链(Responder Chain)与底层 Core Graphics 的图形渲染管道串联起来的。这种宏观的视角非常重要,它帮助我理解,为什么在某些特定的手势处理场景下,会发生意想不到的视图刷新延迟。书中对运行时环境(Runtime Environment)的剖析尤其精彩,特别是对方法调用的内部机制、Category 的加载顺序以及协议遵循的检查过程,描述得比官方文档还要清晰易懂。我发现,很多困扰我许久的设计模式选择问题,都在书中找到了清晰的指导——究竟是该用单例(Singleton),还是更推荐依赖注入(Dependency Injection)?作者没有给出绝对的答案,而是基于 iOS 5 时代的系统限制和应用场景,给出了极具说服力的权衡分析。这种基于历史和环境的辩证思维,极大地提升了我作为开发者的决策能力。
真是不怎么样,而且一些功能不能使用例如twitter,facebook等,没必要买。
Core Framework一系列都很详细,很有价值
Core Framework一系列都很详细,很有价值
Core Framework一系列都很详细,很有价值
真是不怎么样,而且一些功能不能使用例如twitter,facebook等,没必要买。