本书是为中初级iPad/iPhone应用开发者量身打造的,它的内容规划非常全面,全面而系统地讲解了iPad开发必备的基础知识,包括开发前的准备工作、视图和视图控件、外部接口与行为、键盘输入与自定义键盘、绘画、动画、屏幕旋转、手势、加速器与陀螺仪、多媒体、文件处理、文档共享、数据存储、Web服务、蓝牙、地图服务,以及应用的销售技巧,通过本书,开发者能系统性地掌握iPad开发。此外,本书非常注重实战,几乎每一章的每一个知识点都有一个综合性的实战案例,以便于能更好地指导读者实践。
封面图
目录
- 前言
- 第1章 iPad开发入门 / 1
- 1.1 iPad概览 / 2
- 1.2 从PC到iPad / 3
- 1.3 从iPhone到iPad / 4
- 1.4 iPad开发的必备知识 / 5
- 1.5 iPad开发的必备工具 / 5
- 1.6 第一个iPad应用—Hello World / 6
- 1.6.1 建立工程:HelloWorldMail / 7
- 1.6.2 工程概览 / 8
- 1.6.3 添加按钮 / 15
- 1.6.4 邮件编辑器 / 17
- 1.7 小结 / 19
- 第2章 视图和视图控制器 / 20
- 2.1 视图(UIView) / 21
- 2.1.1 视图概览 / 21
- 2.1.2 窗口(UIWindow) / 22
- 2.1.3 网页视图(UIWebView) / 23
- 2.2 视图控制器(UIViewController) / 23
- 2.2.1 视图控制器概览 / 23
- 2.2.2 导航控制器(UINavigationController) / 24
- 2.2.3 标签控制器(UITabBarController) / 25
- 2.3 弹出控制器(UIPopoverController) / 26
- 2.4 分割视图控制器(UISplitViewController) / 27
- 2.5 实例:iPad网页导航 / 27
- 2.5.1 基于分割视图控制器的应用 / 27
- 2.5.2 网页视图 / 29
- 2.5.3 表格视图 / 31
- 2.6 小结 / 34
- 第3章 内存管理 / 35
- 3.1 对象所有权、引用计数与释放 / 36
- 3.2 自动释放与便捷方法 / 38
- 3.3 访问器方法与属性 / 39
- 3.4 改变引用计数的特殊情况 / 40
- 3.5 内存管理总结 / 41
- 第4章 键盘输入和自定义键盘 / 42
- 4.1 文本输入与系统键盘 / 43
- 4.2 自定义键盘之一:替代系统键盘 / 47
- 4.3 自定义键盘之二:与系统键盘共存 / 50
- 4.4 自定义键盘之三:修改系统键盘 / 51
- 4.5 小结 / 55
- 第5章 绘图 / 56
- 5.1 iOS概览 / 57
- 5.2 iOS中的绘图技术 / 58
- 5.3 Quartz 2D / 59
- 5.4 贝济埃路径的使用 / 61
- 5.5 画图实战:绘图板 / 62
- 5.6 小结 / 74
- 第6章 容器类的使用 / 76
- 6.1 数组(NSArray)与可变数组(NSMutableArray) / 77
- 6.1.1 数组的创建与初始化 / 78
- 6.1.2 查询数组 / 78
- 6.1.3 产生新数组 / 79
- 6.1.4 比较数组 / 79
- 6.1.5 保存数组 / 79
- 6.1.6 添加对象(NSMutableArray方法) / 79
- 6.1.7 移除对象(NSMutableArray方法) / 79
- 6.1.8 替换对象 / 80
- 6.2 字典(NSDictionary)与可变字典(NSMutableDictionary) / 80
- 6.2.1 创建字典 / 80
- 6.2.2 获取关键字与数值 / 81
- 6.2.3 保存字典 / 81
- 6.2.4 添加条目(NSMutableDictionary方法) / 81
- 6.2.5 移除条目(NSMutableDictionary方法) / 81
- 6.3 集合(NSSet)与可变集合(NSMutableSet) / 81
- 6.3.1 创建集合 / 82
- 6.3.2 读取集合 / 82
- 6.3.3 比较集合 / 82
- 6.3.4 添加或移除对象(NSMutableSet方法) / 82
- 6.3.5 集合操作(NSMutableSet方法) / 83
- 6.4 容器在拼图游戏中的使用 / 83
- 6.4.1 拼图游戏的设计 / 83
- 6.4.2 相关定义 / 84
- 6.4.3 Piece类与字典 / 87
- 6.4.4 Puzzle类与字典和数组 / 89
- 6.5 小结 / 93
- 第7章 文件系统 / 94
- 7.1 iOS文件系统概述 / 95
- 7.2 通过模拟器看应用的包裹 / 96
- 7.3 文件管理器 / 97
- 7.4 NSString的路径功能 / 98
- 7.5 拼图游戏中的文件管理 / 99
- 7.6 小结 / 107
- 第8章 绘图进阶 / 108
- 8.1 屏幕旋转 / 109
- 8.2 绘制曲线和切割图案 / 111
- 8.3 高级绘图在拼图游戏中的应用 / 114
- 8.4 小结 / 122
- 第9章 触摸事件与手势识别 / 123
- 9.1 触摸事件、视图结构与响应顺序 / 124
- 9.2 官方SDK中的手势识别器 / 126
- 9.3 Photo Jigsaw中对触摸的响应 / 128
- 9.4 自定义的手势识别器 / 135
- 9.5 小结 / 136
- 第10章 同时性编程与定时器 / 137
- 10.1 同时性编程概述 / 138
- 10.2 操作队列 / 140
- 10.3 拼图游戏中的同时性编程 / 142
- 10.4 定时器及其在拼图游戏中的使用 / 146
- 10.5 小结 / 148
- 第11章 动画 / 150
- 11.1 iOS动画技术概述 / 151
- 11.2 用图像视图来逐帧显示动画 / 153
- 11.3 视图的动画技术 / 154
- 11.4 CogRadio应用 / 156
- 11.5 CogRadio应用中的动画 / 160
- 11.6 小结 / 166
- 第12章 多媒体播放 / 167
- 12.1 音频播放 / 168
- 12.1.1 使用系统声音服务来播放音效 / 168
- 12.1.2 音频播放器 / 169
- 12.1.3 音乐播放器 / 169
- 12.2 视频播放 / 171
- 12.2.1 电影播放器 / 171
- 12.2.2 在网页视图中嵌入播放 / 174
- 12.3 CogRadio中的多媒体 / 175
- 12.4 小结 / 178
- 第13章 cocos2d开发入门 / 179
- 13.1 cocos2d简介 / 181
- 13.1.1 导演 / 181
- 13.1.2 场景和层 / 182
- 13.1.3 精灵与动作 / 183
- 13.2 创建cocos2d工程并添加场景 / 184
- 13.3 添加按钮、精灵和动作 / 185
- 13.4 粒子系统 / 187
- 13.5 小结 / 193
- 第14章 连接设备 / 195
- 14.1 游戏工具箱简介 / 196
- 14.1.1 游戏中心 / 196
- 14.1.2 点对点连接 / 198
- 14.1.3 语音聊天 / 198
- 14.2 实现点对点连接 / 199
- 14.3 OpenFeint 游戏平台 / 203
- 14.4 小结 / 209
- 第15章 加速度传感器 / 210
- 15.1 加速度传感器概述 / 211
- 15.2 飞机躲子弹游戏 / 212
- 15.3 倾斜设备来控制飞机 / 216
- 15.4 分离重力成分 / 219
- 15.5 小结 / 221
- 第16章 地图与连接服务器 / 222
- 16.1 地图编程概述 / 223
- 16.2 实战:地图编程 / 224
- 16.3 与服务器交互 / 227
- 16.4 实战:与服务器交互 / 229
- 16.5 小结 / 235
- 第17章 Objective-C与XCode进阶 / 236
- 17.1 NSLog扩展 / 237
- 17.2 范畴的使用 / 239
- 17.3 读写器的内存管理 / 240
- 17.4 KVO / 242
- 17.5 单例 / 243
- 17.6 运行时的对象查询 / 245
- 17.7 调试器的巧用 / 246
- 17.8 XCode快捷键 / 247
- 17.9 小结 / 249
- 第18章 iPad应用的开发证书与营销 / 250
- 18.1 开发证书的获取 / 251
- 18.2 联机调试 / 254
- 18.3 应用名字、说明以及图片 / 258
- 18.4 应用的提交 / 261
- 18.5 应用的推广 / 262
- 18.6 应用升级与销售技巧 / 263
- 18.7 iPad开发的长期策略 / 265
- 18.8 小结 / 266