第1章 iOS开发入门 1
1.1 iOS系统介绍 1
1.1.1 iOS发展史 1
1.1.2 iOS功能 1
1.2 从iPhone到iPad 4
1.2.1 让世界疯狂的iPhone 4
1.2.2 改变世界的iPad 4
1.3 加入iOS开发团队 5
1.4 搭建开发环境 7
1.4.1 Xcode介绍 8
1.4.2 iOS SDK介绍 8
1.4.3 下载并安装Xcode 10
1.5 使用Xcode开发环境 13
1.5.1 使用Xcode创建程序的基本步骤 13
1.5.2 Xcode的基本功能 14
1.6 启动模拟器 26
1.7 iOS的常用开发框架 29
1.7.1 Foundation框架简介 30
1.7.2 Cocoa框架简介 31
1.8 常用的第三方工具 32
1.8.1 iPhone Simulator 32
1.8.2 Interface Builder 33
第2章 Objective-C语言基础 35
2.1 最耀眼的新星 35
2.1.1 看一份统计数据 35
2.1.2 究竟何为Objective-C 35
2.1.3 为什么选择Objective-C 36
2.2 Objective-C的优点及缺点 36
2.3 一个简单的例子 37
2.3.1 使用Xcode编辑代码 37
2.3.2 基本元素介绍 40
2.4 数据类型和常量 44
2.4.1 int类型 45
2.4.2 float类型 46
2.4.3 double类型 46
2.4.4 char类型 47
2.4.5 字符常量 48
2.4.6 id类型 49
2.4.7 限定词 51
2.4.8 总结基本数据类型 52
2.5 字符串 53
2.6 算数表达式 53
2.6.1 运算符的优先级 54
2.6.2 整数运算和一元负号运算符 55
2.6.3 模运算符 56
2.6.4 整型值和浮点值的相互转换 57
2.6.5 类型转换运算符 57
2.7 表达式 58
2.7.1 常量表达式 58
2.7.2 条件运算符 59
2.7.3 sizeof运算符 59
2.7.4 关系运算符 60
2.7.5 强制类型转换运算符 61
2.8 位运算符 61
2.8.1 按位与运算符 62
2.8.2 按位或运算符 62
2.8.3 按位异或运算符 63
2.8.4 一次求反运算符 63
2.8.5 向左移位运算符 64
2.8.6 向右移位运算符 64
2.8.7 总结Objective-C的运算符 65
第3章 开发一个浏览器程序 67
3.1 基础知识讲解 67
3.1.1 静态库 67
3.1.2 屏幕双缓冲技术 70
3.1.3 BSD Socket网络通信 72
3.2 一个简单的浏览器程序 78
3.2.1 UI界面 78
3.2.2 两个方法 78
3.2.3 核心内容 79
3.2.4 来到百度 84
3.3 开发一个仿迅雷多线程断点续传客户端程序 88
3.3.1 实例概述 88
3.3.2 系统设置模块 88
3.3.3 搜索百度音乐 90
3.3.4 搜索土豆视频 98
3.3.5 下载列表模块 102
3.3.6 下载模块 107
第4章 开发一个视频播放器 115
4.1 基础知识讲解 115
4.1.1 MediaPlayer框架 115
4.1.2 AVFoundation框架 121
4.1.3 图像选择器 124
4.1.4 CoreImage框架 126
4.2 系统分析 127
4.2.1 分析游戏功能 127
4.2.2 设计UI视图界面 128
4.2.3 程序定制 128
4.2.4 视图控制 129
4.2.5 本地播放视图控制 136
4.2.6 触摸图像播放 137
4.2.7 视频流处理 137
4.2.8 显示播放状态 138
4.2.9 显示播放风格 138
4.3 开发一个触摸演奏器 141
4.3.1 分析项目功能 141
4.3.2 设计UI视图界面 142
4.3.3 实现顶部的滑动条 142
4.3.4 实现中间的网格 143
4.3.5 添加声音 144
4.3.6 设置音量 144
4.3.7 按钮控制 146
第5章 开发一个翻书特效系统 149
5.1 基础知识讲解 149
5.1.1 iOS中的动画 149
5.1.2 UlImageView动画 150
5.1.3 CoreAnimation视图动画 159
5.1.4 Core Animation——关键帧动画 165
5.1.5 修改动画块 167
5.1.6 过渡动画 167
5.1.7 基于块的视图动画 168
5.1.8 隐式动画 169
5.1.9 核心动画 170
5.2 系统分析 171
5.2.1 UI视图 171
5.2.2 图书翻页控件 172
5.2.3 主界面 175
5.2.4 PDF例子视图 176
5.2.5 Image例子视图 177
5.2.6 Procedural例子视图 179
第6章 开发一个公交路线查询系统 181
6.1 系统介绍 181
6.2 系统主界面 182
6.2.1 线路查询视图 182
6.2.2 线路详情模块 186
6.2.3 线路中某站详情 189
6.3 站站查询 193
6.3.1 站站查询主视图 193
6.3.2 站站查询详情视图 201
6.4 收藏历史 203
6.5 地图信息 209
6.5.1 地图主视图 209
6.5.2 Web地图视图 211
6.6 系统设置 213
6.6.1 主视图 213
6.6.2 当前城市视图 218
6.6.3 数据下载视图 221
第7章 开发一个记事本程序 225
7.1 基础知识讲解 225
7.1.1 提醒处理 225
7.1.2 多场景处理 228
7.2 系统分析 240
7.2.1 分析功能 240
7.2.2 main.m类 240
7.2.3 主界面 240
7.2.4 帮助界面 244
7.2.5 同步模块 245
7.2.6 添加和修改界面 247
7.2.7 发送邮件模块 252
第8章 开发一个地图系统 254
8.1 基础知识讲解 254
8.1.1 Core Location基础 254
8.1.2 获取位置 257
8.1.3 创建一个支持定位的应用程序 261
8.1.4 在项目中使用磁性指南针 266
8.1.5 使用谷歌地图 271
8.2 系统分析 273
8.2.1 UI视图 273
8.2.2 主视图处理 274
8.2.3 FlipsideView视图处理 276
8.3 添加谷歌地图 277
8.3.1 添加打开地图功能 277
8.3.2 视图控制器的升级 279
8.3.3 添加自定义地图标注对象 281
8.4 实现复杂的地图标注 283
8.4.1 界面视图 283
8.4.2 实现地图视图 284
8.4.3 酒店详情视图 286
8.4.4 酒店信息 289
8.4.5 动画效果标注 290
第9章 开发一个拼图游戏 292
9.1 基础知识讲解 292
9.1.1 处理复合视图 292
9.1.2 音频技术 299
9.1.3 屏幕刷新和事件交互处理 305
9.2 系统分析 308
9.2.1 主界面视图 308
9.2.2 加载视图控制器 313
9.2.3 桌面视图控制器 317
9.2.4 帮助信息视图 328
9.2.5 难度级别 329
9.2.6 块处理 337
第10章 开发一个密码系统 340
10.1 基础知识讲解 340
10.1.1 文本、键盘和按钮处理 340
10.1.2 编写MVC程序 344
10.1.3 Xcode中的MVC 347
10.1.4 Xcode如何实现MVC 348
10.1.5 数据模型 352
10.2 系统分析 353
10.2.1 核心类 353
10.2.2 界面文件 356
10.2.3 根视图 357
10.2.4 主视图 359
10.2.5 主视图控制器 364
10.2.6 背后视图 366
第11章 开发一个绘图程序 368
11.1 基础知识讲解 368
11.1.1 iOS的绘图机制 368
11.1.2 iOS的核心图形库 368
11.1.3 OpenGL ES 371
11.1.4 使用点线法绘制三角形 371
11.1.5 使用索引法绘制三角形 372
11.1.6 使用顶点法绘制三角形 372
11.1.7 正交投影 373
11.1.8 透视投影 373
11.1.9 光照 373
11.1.10 纹理映射 375
11.2 系统分析 377
11.2.1 主视图界面 377
11.2.2 左边工具栏视图 385
11.2.3 右边工具栏视图 387
11.2.4 底部工具栏视图 388
11.2.5 颜色设置视图 389
11.2.6 生成随机颜色 392
11.2.7 实现QuartzFunViiew框架 393
11.2.8 定义应用程序常量 399
11.2.9 预览图像视图 400