第1章 手机应用概述 2
1.1 国内智能手机应用现状 2
1.2 iPhone手机应用现状 2
1.3 iPhone手机特征 4
1.4 手机应用分类 6
1.4.1 教育工具 6
1.4.2 生活工具 6
1.4.3 社交应用 7
1.4.4 定位工具 7
1.4.5 游戏 8
1.4.6 报纸和杂志的阅读器 8
1.4.7 移动办公应用 9
1.4.8 财经工具 9
1.4.9 手机购物应用 10
1.4.10 风景区相关的应用 10
1.4.11 旅行相关的应用 11
1.4.12 导航工具 11
1.4.13 企业应用 12
1.5 手机操作系统 12
1.5.1 iPhone操作系统iOS4.1 12
1.5.2 Android操作系统 14
1.6 iPhone应用程序开发 15
1.6.1 开发iPhone应用程序的先期条件 15
1.6.2 iPhone SDK 15
1.6.3 开发iPhone应用的网上资料 16
1.7 本书实例介绍 16
第2章 配置iPhone开发环境2.1 准备开发环境 25
2.1.1 注册为苹果开发员 25
2.1.2 下载并安装iPhone SDK开发工具包的步骤 29
2.2 编写第一个iPhone应用程序 32
2.2.1 创建Xcode项目 32
2.2.2 在iPhone模拟器上运行第一个应用程序 34
2.2.3 Xcode项目结构 35
2.2.4 在界面创建器(Interface Builder)上设计界面 37
2.3 Xcode帮助中心 40
第3章 iPhone开发模式 43
3.1 MVC模式 43
3.1.1 View(视图) 44
3.1.2 视图控制器 45
3.2 Target-Action模式 45
3.3 Delegation模式 47
3.4 MVC实例 48
3.4.1 在Interface Builder上添加对象的步骤 49
3.4.2 在Xcode上编写控制器代码 54
3.4.3 关联UI对象和控制器(设置Target-Action) 57
3.4.4 运行第2个应用程序 60
3.5 应用生命周期 60
3.5.1 main和UIApplicationMain 61
3.5.2 装载主xib 61
3.5.3 执行委托类上的回调方法 62
3.5.4 处理事件 62
3.5.5 暂停或者结束应用程序 63
3.6 Info.plist文件 63
第4章 Objective-C编程语言 63
41 面向对象技术 67
4.1.1 封装 67
4.1.2 继承 67
4.1.3 多态 68
4.2 与C/C++不同之处 68
4.2.1 声明方法的格式和特殊数据类型 68
4.2.2 字符串NSString 70
4.2.3 调用方法的格式 71
4.2.4 选择器SEL 72
4.2.5 协议(protocol)和委托(delegate)类 73
4.2.6 通知(Notification) 73
4.3 Objective-C类 75
4.3.1 Class类(获取对象所属的类) 75
4.3.2 NSObject(所有类的基类) 76
4.3.3 数组(NSArray)和集合(NSSet) 76
4.3.4 字典类(NSDictionary) 77
4.3.5 枚举访问 78
4.4 创建自己的类 79
4.5 Objective-C上的内存管理 81
4.5.1 引用计数器(retainCount) 81
4.5.2 自动释放(autorelease)池 82
4.5.3 didReceiveMemoryWarning方法 83
4.6 @property和@synthesize 83
4.7 多事件处理实例 84
4.8 UIKit框架 88
第5章 iPhone应用程序的调试 88
5.1 调试模式和发布模式 90
5.2 确认类的方法和属性 91
5.3 日志 92
5.4 调试iPhone程序 94
5.4.1 程序中的错误 94
5.4.2 断点调试 95
第6章 视图、图形和图像 95
6.1 视图(View) 103
6.1.1 UIView 103
6.1.2 Frame和Bound 105
6.1.3 添加视图实例 106
6.2 画图 108
6.2.1 颜色和字体 108
6.2.2 drawRect方法 108
6.2.3 画图实例 109
6.2.4 CoreGraphics API 114
6.3 图像 117
6.3.1 UIImage 117
6.3.2 图像的滚动、放大和缩小(UIScrollView) 118
6.3.3 操作图像实例 120
6.4 移动图像 126
6.4.1 UITouch 127
6.4.2 UIResponder 127
6.4.3 图像移动实例 128
第7章 控制器、导航控制器和标签栏控制器 128
7.1 应用界面结构 136
7.2 UIViewController 137
7.2.1 定义视图控制器 137
7.2.2 视图控制器中的视图 138
7.2.3 视图控制器生命周期 139
7.2.4 支持旋转手机功能 140
7.3 导航控制器(UINavigationController) 141
7.3.1 堆栈式管理 141
7.3.2 在两个页之间导航实例 143
7.3.3 在两个页之间传递数据 151
7.3.4 UINavigationltem和UIBarButtonltem 155
7.3.5 定制返回按钮 156
7.3.6 在导航控制栏上添加系统按钮和左右按钮 157
7.4 标签栏控制器(UITabBarController) 159
7.4.1 标签控制器的创建和管理 160
7.4.2 标签栏控制器实例 161
7.4.3 UITabBarltem 164
第8章 iPhone数据的输入、显示和保存 164
8.1 iPhone上的数据存放 170
8.1.1 属性列表(NSUserDefaults) 170
8.1.2 iPhone文件系统 171
8.1.3 核心数据(Core Data)库 173
8.1.4 CoreData实例 174
8.2 表视图(UITableView) 186
8.2.1 表视图类型 186
8.2.2 UITableViewDataSource 188
8.2.3 Table Cell(表单元) 190
8.2.4 选中某一行后的处理 192
8.2.5 UITableViewController 193
8.3 表视图实例 193
8.4 数据录入和虚拟键盘 200
第9章 手机应用和云计算平台的集成 200
9.1 操作XML数据 203
9.2 JSON 205
9.2.1 JSON数据的结构 205
9.2.2 iPhone应用中操作JSON数据 206
9.2.3 JSON实例 207
9.3 调用云服务的手机应用的架构 215
9.4 网页视图 218
9.4.1 UIWebView 218
9.4.2 网页视图实例 219
9.4.3 loadHTMLString方法 224
9.5 多线程编程和NSOperation 225
9.5.1 多线程 225
9.5.2 NSOperation和NSOperationQueue 226
第10章 GPS、地图和通讯录编程 226
10.1 位置类 233
10.1.1 CLLocation 234
10.1.2 CLLocationManager 234
10.1.3 位置类例子 236
10.2 地图 237
10.2.1 MapKit框架 238
10.2.2 MKMapView 238
10.2.3 MKPlacemark、MKUserLocation和MKReverseGeocoder 239
10.3 地图实例 240
10.3.1 显示地图 240
10.3.2 在地图上标记位置 246
10.3.3 根据位置找到地址信息 247
10.3.4 获取当前位置 248
10.4 通讯录 249
10.4.1 选取通讯录上的联系人 250
10.4.2 ABPeoplePickerNavigationController使用实例 253
10.4.3 使用presentModalViewController弹出和关闭视图 257
10.4.4 查询并更新通讯录上的联系人 258
10.4.5 显示和编辑一个联系人信息 259
10.4.6 添加新联系人 260
10.4.7 查询和更新通讯录实例 261
第11章 与照片相关的编程 261
11.1 拷贝照片到iPhone模拟器 268
11.2 从相册中读取照片 269
11.3 保存照片到相册 277
第12章 音频和视频编程 277
12.1 音频API 279
12.1.1 系统声音API 279
12.1.2 声音播放器(AVAudioPlayer) 280
12.1.3 录音 280
12.1.4 访问资料库中的音乐 281
12.1.5 其他API 282
12.2 音频操作实例 282
12.3 视频 287
12.4 视频实例 288
第13章 游戏和iPad编程 288
13.1 旋转或晃动手机 293
13.2 设备之间通信 296
13.2.1 Bonjour 296
13.2.3 GameKit 298
13.2.4 GameKit实例 300
13.3 iPad开发 305
第14章 高级话题 310
14.1 性能调试 310
14.1.1 内存泄露 310
14.1.2 性能监控工具Instruments 311
14.2 应用测试(OCUnit) 313
14.3 苹果推服务(Apple Push Notification Service) 319
14.4 应用设置 321
14.5 应用程序国际化 325
14.6 发布应用程序 328
14.7 iPhone企业应用 329
14.8 其他话题 331