具体描述
开发人员们希望通过一本高级编程学习资源的指引下透彻掌握iPhone和iPad编程技术,在日益成熟的iPhone领域和方兴未艾的iPad领域大显身手,取得一番成就。本书满足了开发人员的这种需要,它循序渐进地描述iPhone和iPad的各个主题和功能,列出实现每项功能的完整示例,讲解iPhone SDK中的应用程序框架,使开发人员能够得心应手地创建和完善iPhone及iPad应用程序。
作者简介
Gene Backlin是一名独立顾问,在软件工业领域为客户提供咨询帮助超过30年,包括IBM公司、美国环境保护署(U.S. Environmental Protection Agency)、废弃物管理(Waste Management)组织、美国银行(Bank of America)、摩根大通银行(JP Morgan Chase)和美国电话电报公司(AT&T)。除了在DePaul大学任教以外,Gene还是开发者套件的图书作者。
目录信息
第1章 导航 1
1.1 导航栈 2
1.2 导航栏 2
1.2.1 uinavigationbardelegate协议 2
1.2.2 配置导航栏 2
1.2.3 压入和弹出导航项 3
1.3 一个简单的导航栏 3
1.3.1 开发步骤:一个简单的导航栏 4
1.3.2 测试应用程序 16
1.4 工具栏 17
1.5 一个简单的工具栏 17
1.5.1 开发步骤:一个简单的工具栏 18
1.5.2 测试应用程序 25
1.6 选项卡栏 25
1.6.1 uitabbardelegate协议 25
1.6.2 定制选项卡栏 25
1.7 一个简单的选项卡栏 25
1.7.1 开发步骤:一个简单的选项卡栏 26
1.7.2 设计视图控制器 28
.1.7.3 测试应用程序 49
1.8 小结 49
第2章 警告、操作列表和模态视图 51
2.1 警告 51
2.1.1 设计警告视图 51
2.1.2 uialertviewdelegate协议 52
2.2 一个简单的iphone-ipod touch和ipad警告视图 52
2.2.1 开发步骤:向uitextview中加载一个文件 53
2.2.2 测试应用程序 63
2.3 操作列表 63
2.3.1 设计操作列表 63
2.3.2 uiactionsheetdelegate协议 64
2.4 一个iphone-ipod touch操作列表 64
2.4.1 开发步骤:创建一个iphone或ipod touch操作列表 65
2.4.2 测试应用程序 76
2.5 一个ipad操作列表 76
2.5.1 开发步骤:创建一个ipad操作列表 76
2.5.2 最终步骤:建立关联 89
2.5.3 测试应用程序 91
2.6 模态视图 91
2.6.1 显示和取消模态视图 91
2.6.2 转换方式 91
2.6.3 模态显示方式(仅适用于ipad) 91
2.7 一个iphone和ipod touch模态视图 91
2.7.1 开发步骤:创建一个iphone和ipod touch模态视图 92
2.7.2 测试应用程序 101
2.8 一个ipad模态视图 101
2.8.1 开发步骤:创建一个ipad模态视图 103
2.8.2 测试应用程序 113
2.9 小结 113
第3章 定制表格视图 115
3.1 表格视图 115
3.1.1 表格视图单元格 116
3.1.2 uitableviewdatasource协议 116
3.1.3 uitableviewdelegate协议 116
3.2 一个定制表格视图应用程序 116
3.2.1 开发步骤:一个定制表格视图应用程序 117
3.2.2 创建contacts.plist属性列表文件 128
3.2.3 测试应用程序 129
3.3 小结 129
第4章 拆分视图 131
4.1 uisplitviewcontroller类 131
4.1.1 uipopovercontrollerdelegate协议 132
4.1.2 uisplitviewcontrollerdelegate协议 132
4.2 一个简单的拆分视图应用程序 132
4.2.1 开发步骤:一个简单的ipad拆分视图应用程序 135
4.2.2 创建datasource.plist属性列表文件 138
4.2.3 测试应用程序 152
4.3 小结 152
第5章 触控事件 153
5.1 处理触控事件 153
5.1.1 单点触控 154
5.1.2 多点触控 154
5.1.3 点击 155
5.1.4 滑动和手势 155
5.2 一个简单的触控处理程序 156
5.2.1 开发步骤:一个简单的触控处理程序 157
5.2.2 测试应用程序 167
5.3 一个简单的手势识别器 167
5.3.1 开发步骤:一个简单的手势识别器 169
5.3.2 测试应用程序 190
5.4 小结 190
第6章 处理通知 191
6.1 nsnotification概念 192
6.1.1 通知中心 192
6.1.2 注册本地通知 192
6.1.3 发布本地通知 192
6.1.4 注销观察者 193
6.2 一个本地命名通知 193
6.2.1 开发步骤:一个本地命名通知 193
6.2.2 测试应用程序 202
6.3 一个本地键盘通知 202
6.3.1 开发步骤:一个本地键盘通知 203
6.3.2 测试应用程序 216
6.4 小结 216
第7章 联网概念 217
7.1 网络通信 218
7.2 一个简单的网络浏览器 220
7.2.1 开发步骤:一个简单的网络浏览器 220
7.2.2 测试应用程序 234
7.3 对等设备通信 234
7.3.1 开发步骤:对等设备通信 235
7.3.2 测试应用程序 252
7.4 小结 252
第8章 多媒体 253
8.1 音频框架 253
8.1.1 媒体播放器 253
8.1.2 av基础框架 253
8.1.3 音频工具箱 254
8.1.4 音频单元框架 254
8.1.5 openal框架 254
8.2 视频框架 254
8.2.1 mpmovieplayercontroller 255
8.2.2 支持的格式 255
8.3 一个播放ipod库中音频的应用程序 255
8.3.1 开发步骤:播放ipod库中的音频 256
8.3.2 测试应用程序 280
8.4 一个播放ipod库中视频的应用程序 281
8.4.1 开发步骤:一个播放ipod库中视频的应用程序 281
8.4.2 测试应用程序 302
8.5 小结 302
第9章 应用程序首选项 303
9.1 应用程序配置 303
9.1.1 应用程序首选项指南 304
9.1.2 首选项元素类型 304
9.1.3 实现首选项层次结构 304
9.1.4 访问应用程序首选项 304
9.2 设置简单的首选项 305
9.2.1 开发步骤:设置简单的首选项 305
9.2.2 测试应用程序 314
9.3 创建一个子窗格首选项层次结构 314
9.3.1 开发步骤:创建一个子窗格首选项层次结构 315
9.3.2 测试应用程序 325
9.4 小结 325
第10章 数据存储 327
10.1 属性列表 327
10.1.1 属性列表的使用 327
10.1.2 推荐的数据元素类型 328
10.1.3 保存和还原属性列表 328
10.2 核心数据 329
10.2.1 核心数据栈 329
10.2.2 托管对象 329
10.2.3 托管对象上下文 329
10.2.4 托管对象模型 329
10.2.5 持久存储协调器 329
10.2.6 xcode建模工具 330
10.2.7 获取托管对象 330
10.2.8 删除托管对象 330
10.3 数据存储的共同基础 331
10.3.1 开发步骤:一个使用属性列表的简单应用程序 332
10.3.2 测试应用程序 354
10.3.3 开发步骤:一个使用核心数据的简单应用程序 354
10.3.4 测试应用程序 381
10.4 小结 381
第11章 剪贴板 383
11.1 剪贴板的概念 384
11.1.1 命名的剪贴板 384
11.1.2 持久性 384
11.1.3 编辑菜单 384
11.1.4 剪切所选内容 385
11.1.5 粘贴项 386
11.1.6 取消编辑菜单 386
11.2 剪切和粘贴文本 386
11.2.1 开发步骤:剪切和粘贴文本 387
11.2.2 测试应用程序 395
11.3 剪切和粘贴图像 395
11.3.1 开发步骤:剪切和粘贴图像 396
11.3.2 测试应用程序 403
11.4 为ipad创建定制菜单 404
11.4.1 开发步骤:为ipad创建定制菜单 405
11.4.2 测试应用程序 413
11.5 小结 413
第12章 单元测试 415
12.1 设置环境 415
12.2 一个简单的单元测试 416
12.2.1 开发步骤:一个简单的单元测试 417
12.2.2 创建data.plist数据源 427
12.2.3 测试应用程序 430
12.3 创建单元测试的步骤:一个简单的单元测试 431
12.3.1 对应用程序进行单元测试 435
12.3.2 注册设备 436
12.3.3 对应用程序进行单元测试 436
12.4 小结 437
第13章 调整和优化性能 439
13.1 性能分析 439
13.1.1 使用模拟器 440
13.1.2 使用设备 440
13.1.3 性能分析的好处 440
13.2 一个简单的内存泄漏测试 440
13.2.1 开发步骤:内存泄漏测试 444
13.2.2 开发步骤(续):使用检测应用程序 452
13.2.3 开发步骤(续):在主菜单中使用build and analyze选项 452
13.3 小结 453
第14章 集成iad网络 455
14.1 加入iad网络 455
14.1.1 设置银行账户信息 456
14.1.2 为应用程序启用iad网络选项 456
14.1.3 配置iad首选项 456
14.2 使应用程序做好使用iad网络的准备 456
14.2.1 实现adbannerview 456
14.2.2 集成iad框架 456
14.3 一个使用iad网络的简单应用程序 457
14.3.1 开发步骤:一个使用iad网络的简单应用程序 457
14.3.2 测试应用程序 464
14.4 小结 464
第15章 多任务处理 465
15.1 多任务处理服务 465
15.1.1 uiapplication委托消息 466
15.1.2 多任务处理的作用 466
15.1.3 xcode模拟器中多任务处理的限制 467
15.1.4 支持多任务处理的设备 467
15.2 一个多任务音频应用程序 467
15.2.1 开发步骤:一个多任务音频应用程序 468
15.2.2 测试应用程序 486
15.3 小结 487
附录a 开发应用程序的初始步骤 489
附录b iphone开发中心 499
附录c cocoa touch静态库 505
附录d 苹果开发资源 527
· · · · · · (收起)
读后感
Everything you need to create top-notch applications for the iPhone and iPad Developers have demanded an advanced guide to using the very latest version of the iPhone and iPad SDK to develop applications-and this book answers that call! Packed wit...
Everything you need to create top-notch applications for the iPhone and iPad Developers have demanded an advanced guide to using the very latest version of the iPhone and iPad SDK to develop applications-and this book answers that call! Packed wit...
Everything you need to create top-notch applications for the iPhone and iPad Developers have demanded an advanced guide to using the very latest version of the iPhone and iPad SDK to develop applications-and this book answers that call! Packed wit...
Everything you need to create top-notch applications for the iPhone and iPad Developers have demanded an advanced guide to using the very latest version of the iPhone and iPad SDK to develop applications-and this book answers that call! Packed wit...
Everything you need to create top-notch applications for the iPhone and iPad Developers have demanded an advanced guide to using the very latest version of the iPhone and iPad SDK to develop applications-and this book answers that call! Packed wit...
用户评价
我一直以为,要搞定iOS的深度定制和系统级交互,非得去啃那些晦涩难懂的官方文档不可,但这本书彻底颠覆了我的看法。它就像一个经验丰富的老兵,带着你一步步走进iOS框架的“禁区”。特别是关于Runtime机制的章节,我以前只知道`respondsToSelector`和`performSelector`这种皮毛,但作者竟然详细讲解了方法调用的底层流程、Method Swizzling的原理以及如何安全地使用它来进行AOP(面向切面编程)。这简直是打开了新世界的大门,我立刻在几个旧项目里尝试用它来统一埋点逻辑,极大地减少了代码冗余。更让我惊喜的是,书中并没有停留在理论层面,而是提供了大量的代码范例来演示如何 Hook 关键的系统方法,比如如何监听系统级别的通知,或者如何在不修改源码的情况下,为已有的类“打补丁”。这种“魔改”的能力,对于那些需要维护遗留代码或者想在沙盒限制内实现更多功能的开发者来说,是无价之宝。它不仅仅是教你“如何做”,更重要的是告诉你“为什么这样做是高效和安全的”。
对于一个追求极致用户体验的开发者而言,数据持久化绝不仅仅是NSUserDefaults那么简单。这本书在这方面的深度探索,远超我的预期。我原本以为Realm或者Core Data的官方文档已经够详细了,但《iPhone&iPad高级编程》中对Core Data栈模型的构建、NSPersistentContainer的精细化配置,以及在多线程环境下如何安全地进行数据读写操作,给出了非常实用的解决方案。作者对比了不同持久化方案的优劣,尤其是在处理大型数据集和复杂关系模型时的性能差异,分析得鞭辟入里。我印象最深的是关于“并发和撤销/重做”的章节,它提供了一套优雅的、基于Core Data的事务管理模型,这让我轻松地在我们的笔记应用中加入了可靠的撤销/重做功能,而不用担心数据一致性问题。这本书的讲解方式非常注重实战中的“陷阱”和“优化点”,它不像其他书籍那样只教你配置,而是告诉你:当你遇到XX性能瓶颈时,应该调整KV(Key-Value)观察者的使用方式,或者调整Fetch Request的批量设置。这种贴近实际工程的经验总结,是任何API参考手册都无法提供的宝贵财富。
从阅读体验上来说,这本书的作者非常懂得如何与读者“对话”。它不像一些技术书籍那样,只是干巴巴地罗列API和语法,而是充满了“为什么”和“应该怎么做”的思考。例如,在讲解如何设计一个可维护、高内聚、低耦合的架构时,作者没有简单地推荐MVVM或VIPER,而是从SOLID原则出发,结合iOS特有的生命周期管理问题,提供了一套实用的分层建议。这种高度的工程素养渗透在每一个章节中。我特别欣赏它对“调试和诊断”环节的重视。书中详细介绍了Instruments的使用技巧,特别是如何利用Time Profiler和Allocations工具来精确定位性能瓶颈,以及如何利用LLDB的调试命令来检查私有变量和方法栈。这些工具的使用,往往是区分初级和资深开发者的关键点,而这本书将这些“秘诀”毫无保留地分享了出来。读完它,我感觉自己不仅仅是掌握了一堆技术点,更是培养了一种系统思考、注重细节、追求卓越工程实践的开发者的思维模式。这本书绝对是想在iOS领域深耕的人士必备的进阶读物。
这本书最让我感到“高级”的地方,在于它对前沿技术和未来趋势的把握,以及如何用成熟稳定的方式去驾驭它们。比如,在SwiftUI还未完全成熟的过渡期,作者并没有完全拥抱它,而是花了大量篇幅讲解如何将传统的UIKit架构与SwiftUI进行无缝桥接,确保应用可以在不同平台版本间保持兼容性和性能。讲解Combine框架时,它没有将它包装得过于“高深莫测”,而是通过一系列精心设计的网络请求和UI绑定示例,展示了其在响应式编程中的强大威力,特别是如何用Operator链式调用来简化复杂的异步数据流处理。我过去写网络层代码时,总感觉逻辑像意大利面条一样缠绕,但学习了Combine的用法后,整个数据处理流程变得清晰、可预测。再比如,书中对Metal API的使用虽然是作为选读的高级主题,但其对GPU编程理念的介绍,已经让我对未来更高性能图形处理有了初步的认识。这本书的知识深度和广度,确保了它不仅仅是针对当前iOS版本的“速成宝典”,更是一本能让你跟上苹果技术栈迭代步伐的“长期投资”。
这本《iPhone&iPad高级编程》简直是为我这种有一定基础,但渴望在移动开发领域更进一步的开发者量身定做的“武林秘籍”。我过去只是停留在基础的UI搭建和简单的网络请求层面,对于如何构建出那些复杂、高性能、用户体验极致的应用,心里总是没底。这本书的结构安排非常巧妙,它没有一开始就堆砌那些让人望而生畏的底层API,而是从“性能优化”这个核心痛点入手,深入剖析了内存管理的高级技巧,特别是ARC(自动引用计数)在复杂场景下的行为模式,让我对“内存泄漏”这个老生常谈的问题有了全新的、更深刻的理解。作者对多线程并发处理的讲解,更是达到了教科书级别的高度,它不仅解释了GCD(Grand Central Dispatch)的各种调度策略,还结合实际案例演示了如何使用Operation Queues来管理依赖关系复杂的任务队列,这对于开发那些需要后台数据处理和复杂动画同步的应用来说,简直是如虎添翼。读完关于并发的部分,我立刻着手重构了我项目中一个之前处理起来非常头疼的列表加载和刷新模块,效果立竿见影,应用的响应速度和稳定性都有了质的飞跃。书中对于自定义视图和Core Animation的深入探讨,也让我明白,真正的“高级”不是堆砌效果,而是对性能和流畅度的精准控制。
本书循序渐进地描述iPhone和iPad的各个主题和功能,列出实现每项功能的完整示例,讲解iPhone SDK中的应用程序框架,使开发人员能够得心应手地创建和完善iPhone及iPad应用程序,本书的源码可以在wrox网站免费下载,@china-pub 已经可以购买喽http://product.china-pub.com/194769
本书循序渐进地描述iPhone和iPad的各个主题和功能,列出实现每项功能的完整示例,讲解iPhone SDK中的应用程序框架,使开发人员能够得心应手地创建和完善iPhone及iPad应用程序,本书的源码可以在wrox网站免费下载,@china-pub 已经可以购买喽http://product.china-pub.com/194769
本书循序渐进地描述iPhone和iPad的各个主题和功能,列出实现每项功能的完整示例,讲解iPhone SDK中的应用程序框架,使开发人员能够得心应手地创建和完善iPhone及iPad应用程序,本书的源码可以在wrox网站免费下载,@china-pub 已经可以购买喽http://product.china-pub.com/194769
全书大部分都是代码
全书大部分都是代码