第1章 iPhone应用程序开发介绍 1
1.1 《iPhone应用程序开发名家解析》介绍 2
1.2 iPhone概述 3
1.3 iPhone 3GS和操作系统3.x的新特性与增强功能 5
1.4 从App Store(应用程序商店)下载软件 6
1.5 iPhone OS 3.x 8
1.6 Objective-C编程语言 8
1.7 设计模式 9
1.8 Cocoa框架 10
1.9 iPhone SDK 3的新特性 11
1.10 Xcode开发工具组 12
1.11 对象技术的基础知识 14
1.12 Web 2.0 15
1.13 在iPhone模拟器中试运行画图板应用程序 16
1.14 小结 20
1.15 Deitel资源中心 20
第2章 iPhone App Store和商务问题 21
2.1 iPhone App Store和商务问题简介 22
2.2 iPhone开发人员计划:建立你的开发者档案来测试和提交应用程序 23
2.2.1 建立你的iPhone开发团队 23
2.2.2 获取一个iPhone开发证书 24
2.2.3 注册测试设备 25
2.2.4 创建应用程序标识(App IDs) 25
2.2.5 创建Provisioning Profile 26
2.2.6 使用配置文件在iPhone或iPod Touch上安装应用程序 26
2.2.7 提交用于发布的应用程序 27
2.3 iPhone人机界面指南 29
2.4 测试你的应用程序 30
2.5 通过iTunes Connect为提交应用程序做准备 31
2.6 优秀iPhone应用程序的特点 33
2.7 避免你的应用程序被拒绝 34
2.8 定价:付费或免费 34
2.9 添加一个应用程序到iTunes Connect 35
2.10 商品化付费应用程序:使用应用程序内购买(In-App Purchase)功能来销售虚拟物品 38
2.11 使用iTunes Connect管理你的应用程序 39
2.12 营销你的应用程序 40
2.13 iPhone趣闻与幽默 44
2.14 其他平台 45
2.15 iPhone开发人员文档 45
2.16 小结 46
第3章 欢迎应用程序(开始学习Xcode、Cocoa及Interface Builder) 47
3.1 欢迎应用程序简介 48
3.2 技术概述 49
3.3 Xcode 3.x集成开发环境和Cocoa 49
3.3.1 Xcode 3.x介绍 49
3.3.2 定制集成开发环境和创建新项目 50
3.3.3 工具栏 51
3.3.4 组和文件 51
3.3.5 键盘快捷方式 51
3.3.6 Interface Builder 52
3.3.7 Cocoa 52
3.4 创建应用程序创建一个新项目 52
3.5 使用Interface Builder创建GUI 53
3.6 运行程序 58
3.7 小结 59
第4章 小费计算器(Objective-C编程初探) 61
4.1 小费计算器简介 62
4.2 试运行小费计算器 63
4.3 技术概述 63
4.4 创建程序 63
4.5 给程序添加实际功能 68
4.5.1 创建程序的控制类 68
4.5.2 查看Controller.h文件 69
4.6 在Interface Builder中关联对象 71
4.7 方法的具体实现 73
4.7.1 启动和初始化程序 76
4.7.2 calculateTip:方法 77
4.8 小结 79
第5章 Twitter搜索收藏夹应用程序(Collections与Cocoa GUI编程) 81
5.1 Twitter搜索收藏夹应用程序简介 82
5.2 试运行应用程序 83
5.3 技术概述 84
5.4 创建程序 85
5.4.1 GUI的布局 85
5.4.2 定义Controller类 87
5.4.3 Abstract Factory的设计模式(抽象工厂型设计模式) 89
5.4.4 在Interface Builder中连接对象 90
5.4.5 定义Controller类的实现 91
5.4.6 Controller类的初始化方法 91
5.4.7 Controller类的awakeFromNib方法 93
5.4.8 Controller类的refreshList方法 94
5.4.9 Controller类的infoButtonTouched方法 95
5.4.10 Controller类的addTag和clearTags方法 96
5.4.11 Controller类中的addNewButtonWithTitle方法 97
5.4.12 设计模式:命令模式(command) 99
5.4.13 Controller类的buttonTouched方法 99
5.4.14 UIButton的排序分类 100
5.5 小结 100
第6章 国旗问答游戏应用程序(控制器和Utility Application模板) 103
6.1 国旗问答游戏应用程序简介 104
6.2 测试国旗问答游戏程序 106
6.3 技术概述 107
6.4 构建程序 108
6.4.1 Main View和Main View Controller类 108
6.4.2 Flipside View和Flipside View Controller类 124
6.5 小结 130
第7章 “点击竞技”游戏(学习使用UIView类和触控技术) 131
7.1 “点击竞技”游戏简介 132
7.2 试运行程序 134
7.3 技术概述 134
7.4 构建应用程序 134
7.4.1 声明Spot On View Controller接口 135
7.4.2 创建程序界面 136
7.4.3 Spot On View Control ler类实现 137
7.4.4 SpotOnViewController类的resetGame方法 139
7.4.5 SpotOnViewController类的addNewSpot方法 140
7.4.6 SpotOnViewController类的beginSpotAnimation方法 141
7.4.7 SpotOnViewController类的touchesBegan:withEvent:方法 142
7.4.8 职责链设计模式(Chain of Responsibility) 144
7.4.9 SpotOnViewController类的touchedSpot方法 145
7.4.10 SpotOnViewController类的beginSpotEndAnimation:方法 146
7.4.11 SpotOnViewController类的finishedAnimation:finished:context:方法 147
7.4.12 SpotOnViewController类的alertView:clickedButtonAtIndex:、shouldAutorotateToInterfaceOrientation、dealloc方法 149
7.5 小结 150
第8章 加农炮游戏应用程序(使用NSTimer实现动画及处理拖曳事件) 153
8.1 加农炮游戏简介 154
8.2 试运行应用程序 155
8.3 技术概述 155
8.4 构建应用程序 156
8.4.1 声明CannonView接口 156
8.4.2 CannonView类实现 158
8.4.3 CannonView类的initWithCoder:和awakeFromNib方法 159
8.4.4 CannonView类的newGame方法 161
8.4.5 CannonView类的timerFired:方法 162
8.4.6 CannonView类的showAlertWithTitle:message:和alertView:clickedButtonAtIndex:方法 165
8.4.7 CannonView类的drawRect:方法 166
8.4.8 使用Instruments来检测性能问题 169
8.4.9 CannonView类的touchesBegan:withEvent、touchesMove:withEvent:和processTouch:withEvent:方法 170
8.5 小结 171
第9章 画图板应用程序(使用控件与UIView对象交互) 173
9.1 画图板应用程序简介 174
9.2 技术概述 174
9.3 构建应用程序 175
9.3.1 声明Squiggle接口 175
9.3.2 Squiggle类实现 176
9.3.3 声明MainView接口 177
9.3.4 MainView类实现 178
9.3.5 MainView类的resetView和drawRect:方法 179
9.3.6 MainView类的drawSquiggle:inContext:方法 180
9.3.7 MainView类的触控处理方法 181
9.3.8 MainView类的motionEnded:withEvent:、alertView:clickedButtonAtIndex:、canBecomeFirstResponder和dealloc方法 184
9.3.9 声明MainViewController接口 185
9.3.10 MainViewController类实现 186
9.3.11 声明FlipsideViewController接口 188
9.3.12 FlipsideViewcontroller类实现 189
9.3.13 FlipsideViewController类实现 190
9.3.14 创建Flipside视图 193
9.4 小结 194
第10章 地址簿应用程序(表格与UINavigationController) 195
10.1 地址簿应用程序简介 196
10.2 试运行应用程序 198
10.3 技术概述 198
10.4 构建程序 199
10.4.1 RootViewController类 199
10.4.2 AddViewController类 207
10.4.3 ContactViewController类 215
10.4.4 EditableCell类 218
10.5 小结 222
第11章 路线跟踪器应用程序(Map Kit和Core Location框架(GPS和指南针)) 223
11.1 路线跟踪器应用程序简介 224
11.2 测试这个路径跟踪器应用程序 227
11.3 技术概述 227
11.4 构建应用程序 228
11.4.1 TrackingMapView类 228
11.4.2 Controller类 235
11.5 小结 242
第12章 幻灯片应用程序(访问相片和iPod音乐库) 243
12.1 幻灯片应用程序简介 244
12.2 试运行应用程序 247
12.3 技术概述 248
12.4 构建应用程序 248
12.4.1 RootViewController类 249
12.4.2 SlideshowViewController类 259
12.4.3 NameViewController类 268
12.4.4 SlideshowDataViewControllet类 270
12.5 小结 281
第13章 增强型幻灯片程序(使用NSCoder序列化数据和播放视频) 283
13.1 增强型幻灯片程序简介 284
13.2 试运行应用程序 286
13.3 技术概述 287
13.4 构建应用程序 287
13.4.1 Medialtem类 288
13.4.2 Slideshow类 292
13.4.3 RootViewControllel类 297
13.4.4 SlideshowDataViewController类 301
13.4.5 EnhancedSlideshowAppDelegate类 309
13.4.6 SlideshowViewController类 310
13.5 改进建议 316
13.6 小结 316
第14章 录音机应用程序(声音录制和回放) 317
14.1 录音机应用程序简介 318
14.2 试运行应用程序 320
14.3 技术概述 321
14.4 构建应用程序 322
14.4.1 VoiceRecorderViewController类 322
14.4.2 NameRecordingViewController类 330
14.4.3 Visualizer类 333
14.4.4 PlaybackViewController类 336
14.5 语音的合成与识别 349
14.6 小结 349
第15章 增强型地址簿应用程序(管理和传输持久化数据) 351
15.1 增强型地址簿应用程序简介 352
15.2 试运行应用程序 353
15.3 技术概述 354
15.4 构建应用程序 355
15.4.1 构建Core Data模型 355
15.4.2 ContactViewController类 355
15.4.3 RootViewController类 360
15.5 小结 372
第16章 Twitter折扣机票程序(使用互联网的程序) 373
16.1 Twitter折扣机票程序简介 374
16.2 试运行Twitter折扣机票程序 375
16.3 技术概述 375
16.4 构建应用程序 375
16.5 小结 396