第一部分 C语言基础 1
第一章 数据类型、运算符、表达式 1
1.1C语言的字符集 1
1.2语言词汇 1
1.3数据类型 2
1.3.1常量与变量 4
1.3.2常量和符号常量 4
1.4算术运算符和算术表达式 4
1.4.1 C运算符简介 4
1.4.2算术表达式 6
第二章 结构化程序设计 7
2.1 C语句概述 7
2.2赋值语句 8
2.3分支结构程序 9
2.4 if语句的嵌套 11
2.5 switch语句 12
2.6循环控制 13
2.6.1 goto语句以及用goto语句构成循环 13
2.6.2 while语句 14
2.6.3 do-while语句 14
2.6.4 for语句 15
2.6.5循环的嵌套 17
2.6.6几种循环的比较 17
2.7 break语句 17
2.8 continue语句 18
第三章 数组、函数、指针 19
3.1一维数组的定义 19
3.2一维数组元素的引用 20
3.3一维数组的初始化 21
3.4二维数组的定义 22
3.5二维数组元素的引用 22
3.6二维数组的初始化 23
3.7字符数组 23
3.7.1字符数组的定义 23
3.7.2字符数组的初始化 24
3.7.3字符数组的引用 24
3.8字符串和字符串结束标志 24
3.9函数概述 25
3.10函数定义的一般形式 26
3.11函数的参数和函数的值 28
3.11.1形式参数和实际参数 28
3.11.2函数的返回值 29
3.12函数的调用 29
3.12.1函数调用的一般形式 29
3.12.2函数调用的方式 30
3.12.3被调用函数的声明和函数原型 30
3.12.4函数的嵌套调用 31
3.12.5函数的递归调用 32
3.13局部变量和全局变量 33
3.13.1局部变量 33
3.13.2全局变量 34
3.14指针 34
3.15地址指针的基本概念 35
3.16变量的指针和指向变量的指针变量 35
3.16.1定义一个指针变量 36
3.16.2指针变量的引用 36
3.17数组指针和指向数组的指针变量 40
3.17.1指向数组元素的指针 40
3.17.2通过指针引用数组元素 41
3.18函数指针变量 43
3.19指针型函数 44
3.20指针数组和指向指针的指针 45
3.20.1指针数组的概念 45
3.20.2指向指针的指针 47
3.21有关指针的数据类型的小结 48
3.22指针运算的小结 49
3.23 void指针类型 49
第四章 结构体、共用体、枚举、预处理 51
4.1定义一个结构的一般形式 51
4.2结构类型变量的说明 52
4.3结构变量成员的表示方法 54
4.4结构变量的赋值 54
4.5结构变量的初始化 55
4.6结构数组的定义 55
4.7结构指针变量的说明和使用 56
4.7.1指向结构变量的指针 56
4.7.2指向结构数组的指针 57
4.8枚举类型 58
4.8.1枚举类型的定义和枚举变量的说明 58
4.8.2枚举类型变量的赋值和使用 59
4.9宏定义 60
4.9.1无参宏定义 60
4.9.2 带参宏定义 63
4.10类型定义符typedef 67
4.11用extern声明外部变量 68
4.12用static声明局部变量 68
4.13用const声明常量 69
第五章 数据结构与算法简介 71
5.1数据结构基本概念和术语 71
5.2程序的灵魂——算法 72
5.2.1算法的概念 72
5.2.2算法的特点 72
5.2.3简单算法举例 73
第二部分 Objective-C语言 75
第六章 Objective-C基础 75
6.1 Objective-C概述 75
6.2开发工具Xcode 75
6.3 HelloWorld解析 76
6.3.1 #import 78
6.3.2 NSLog() 78
6.3.3@“字符串” 78
6.3.4注释 78
6.3.5 #progma mark 79
6.4面向对象和面向过程 79
第七章 类和对象 81
7.1认识对象 81
7.2认识类 81
7.3 OC中类的定义 81
7.3.1接口(interface) 82
7.3.2实现(implementation) 82
7.3.3 Struct和Class比较 83
7.4创建对象 83
7.4.1类方法和实例方法 84
7.4.2内存分配 85
7.4.3初始化 86
7.4.4便利构造器 88
第八章 属性及点语法 89
8.1属性 89
8.2属性关键字 90
8.3点语法 92
第九章 字符串、集合 95
9.1数据类型 95
9.1.1与C共有的数据类型 95
9.1.2 OC扩展的数据类型 95
9.2字符串(NSStri ng) 96
9.2.1 NSString对象初始化 96
9.2.2字符串长度获取 97
9.2.3获取字符串的子串 97
9.2.4字符串的比较 98
9.2.5类型转换 99
9.2.6字符串(NSMutableString) 99
9.3数组 100
9.3.1 NSArray 100
9.3.2 NSArray简化 101
9.3.3 NSMutableArray 101
9.4字典 102
9.4.1 NSDictionary 103
9.4.2 NSMutableDictionarv 104
9.5集 104
9.5.1 NSSet 104
9.5.2 NSMutableSet 105
9.6快速枚举 105
第十章 内存管理 107
10.1程序内存分配 107
10.2 Objective-C内存管理 108
10.2.1所有权机制 108
10.2.2内存管理黄金法则 108
10.2.3便利构造器内存管理 111
10.2.4设置器,访问器内存管理 112
10.2.5常见错误 113
10.2.6规则总结 113
10.2.7 ARC (Automatic Reference Counting)机制 113
第十一章 封装、继承、多态 115
11.1封装 115
11.2继承 116
11.3多态 118
第十二章 类目、延展、协议、单例 119
12.1类目Category 119
12.1.1类目的声明和实现 119
12.1.2类目的使用 120
12.1.3举例 120
12.1.4类目的局限性 123
12.2延展Extension 124
12.3协议Protocol 124
12.3.1协议的定义 124
12.3.2协议的作用 126
12.3.3协议的特点 126
12.4单例Singleton 126
第三部分 核心框架 129
第十三章 程序基本结构 129
13.1 Main函数 129
13.2创建工程 129
13.3应用程序的委托 131
13.4 UIWindow 132
第十四章 视图 135
14.1 UIView的初始化方式 135
14.2 UIView的常见属性及含义 135
14.3 UIView的常用方法 136
14.4 自定义UIView 136
第十五章 简单视图控件 139
15.1按钮UIButton 139
15.1.1 UIButton的初始化 139
15.1.2事件与回调 139
15.1.3设置背景和文字 140
15.1.4自定义按钮 140
15.2标签UILabel 141
15.2.1 UILabel的常用属性 142
15.2.2 UILabel的初始化 142
15.2.3更好的文本展示 142
15.3其他简单控件 142
15.3.1开关控件UISwitch 142
15.3.2滑块控件UISlider 143
15.3.3多选控件UISegmentedControl 143
第十六章 视图控制器 145
16.1基本视图控制器 145
16.1.1 UIViewController的初始化 145
16.1.2常用方法和执行顺序 145
16.1.3自定义视图控制器 146
16.1.4视图控制器的切换 146
16.2导航控制器 147
16.2.1导航控制器的推送和返回 147
16.2.2导航栏的自定义 148
16.3标签控制器 149
16.3.1标签控制器的切换关系 149
16.3.2标签控制器的初始化 149
16.3.3设置文字与图片 150
16.3.4 UITabBarController的自定义 151
16.4自动布局 152
16.4.1 AutoLavout简介 152
16.4.2创建约束条件 152
16.4.3添加约束条件 154
第十七章 UIView动画以及触摸手势 157
17.1 UIView动画简述 157
17.2建立UIView动画 157
17.3动画回调 158
17.4过渡动画 159
17.5动画Blocks的使用 159
17.6图像视图动画 160
17.7触摸事件 160
17.8手势 161
第十八章 滚动视图的使用 165
18.1 UIScrolIView滚动视图 165
18.1.1UIScrollView的工作机制 165
18.1.2 UIScrollView的常用属性 165
18.1.3 UIScrollView的实际使用 166
18.2 UIPageControl页面指示器控件 169
18.3构建UIPickerView多轮表格 170
18.3.1创建UIPickerView 170
18.3.2创建基于视图的选取器 172
18.4使用UIDatePicker时间选取器 173
第十九章 创建和管理表格视图 177
19.1 UITableView和UITableViewController简介 177
19.2创建表格 177
19.3重用单元格 178
19.4字体表格实例 179
19.5使用内置单元格类型 180
19.5.1修改内置单元格 182
19.6定制自己的单元格 183
19.7修改单元格的选中样式 185
19.8记住定制单元格的控制状态 185
19.9移出单元格选中时的高亮显示状态 185
19.10单元格的配件样式 186
19.11编辑单元格 186
19.11.1处理删除请求 186
19.11.2滑动单元格 186
19.11.3对单元格重新排序 187
19.12表格数据排序 187
19.13创建分段表格 188
19.13.1创建标题 188
19.13.2创建分段索引 188
19.13.3定制表头和脚注 189
19.14创建分组表格 189
19.15创建搜索表格 189
19.16下拉刷新(i0S6新特征) 190
19.17 UICollectionView (i0S6新特征) 191
19.17.1 配置数据源 193
19.17.2使用UICollectionViewFlowLayout 195
19.17.3删除和添加项 199
19.17.4使用UICollectionViewLayout 199
第二十章 输入控件 203
20.1文本输入 203
20.2取消键盘 204
20.3输入控制 205
第二十一章 网络开发 207
21.1检查网络状态 207
21.2同步请求 208
21.3异步请求 208
21.4GET与POST 209
21.5数据上传与下载 210
21.5.1 XML与XML解析 210
21.5.2 JSON与JSON解析 211
21.6 ASIHTTPRequest简介 212
21.7网页视图 212
第二十二章 音频与视频 215
22.1音频 215
22.2视频 217
第四部分 高级应用 219
第二十三章 高级动画 219
23.1图层 219
23.1.1图层的坐标系 219
23.1.2指定图层的几何 219
23.1.3图层的几何变换 221
23.1.4变换函数 222
23.1.5修改变换的数据结构 223
23.1.6通过键值路径修改变换 223
23.2使用Core Animation Transitions 224
23.3深入了解Core Animation 225
23.3.1基本概念 225
23.3.2 CALaver及时间模型 225
23.3.3显式动画Animation 228
23.3.4 CABasicAnimation的实际使用 231
23.3.5 CAKevframeAnimation的实际使用 232
23.3.6 CAAnimationGroup组合动画的使用 234
第二十四章 使用相册和照相机 237
24.1使用图像拾取器 237
24.2使用照相机 239
24.3图像的存储 239
24.4图像的重构 240
第二十五章 数据持久性 241
25.1应用程序的沙盒 241
25.2获取文件路径 242
25.3属性列表序列化 243
25.4对象归档 243
25.4.1 遵守并实现NSCod i ng 243
25.4.2对对象进行归档 244
25.4.3读取归档的数据 245
25.5文件管理 245
25.6 Core Data的使用 246
第二十六章 多线程 251
26.1线程与多线程 251
26.2开辟子线程 251
26.3定时器NSTimer 252
26.4通知 252
第二十七章 地图 255
27.1定位 255
27.2地图视图 255
27.3地图注解 256
27.4自定义地图注解 258
第二十八章 真机 调试 261
第二十九章 访问设备能力(真机) 279
29.1加速计 279
29.1.1加速计的物理特性 279
29.1.2访问加速计 280
29.2控制屏幕的亮度 280
29.3获取当前设备信息 280
29.4监控电池状态 281
29.5启用和禁用接近传感器 282
29.6检测设备晃动 283