第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