第1章 Objective-C语言概述 2
1.1 Mac操作系统和Objective-C语言 2
1.2 Objective-C的开发工具 2
1.3 Objective-C程序简介 4
1.4面向对象编程 7
1.4.1面向对象的分析 7
1.4.2面向对象的特征 8
1.5 Objective-C程序结构 10
1.5.1类接口(@interface) 12
1.5.2类实现(@implementation ) 13
1.5.3应用程序 15
1.5.4 Objective-C的方法调用 16
1.5.5输入和输出数据 17
1.5.6变量和标识符 18
1.5.7指令符(@) 20
1.5.8语句 21
第2章 数据类型和运算符 23
2.1简单数据类型 23
2.1.1整型 23
2.1.2实型 26
2.1.3字符型 29
2.1.4字符串 32
2.1.5 id类型 32
2.1.6类型转换 36
2.1.7枚举类型 38
2.1.8 typedef 39
2.2 Objective-C的其他数据类型 41
2.2.1 BOOL 41
2.2.2 SEL 43
2.2.3 Class 45
2.2.4 nil和Nil 46
2.3运算符和表达式 48
2.3.1 Objective-C运算符 48
2.3.2表达式和运算优先级 48
2.3.3算术运算符 50
2.3.4算术表达式 52
2.3.5强制类型转换运算符 54
2.3.6自增、自减运算符 55
2.3.7位运算符 57
2.3.8赋值运算符 62
2.3.9关系运算符 64
2.3.10布尔逻辑运算符 64
第3章 程序控制语句 67
3.1条件语句 67
3.1.1 if语句 67
3.1.2 if语句的嵌套 71
3.1.3 switch语句 73
3.1.4三目条件运算符 75
3.1.5布尔表达式 76
3.2循环语句 77
3.2.1 while语句 77
3.2.2 do-while语句 79
3.2.3 for语句 80
3.2.4 for循环多变量的处理 83
3.2.5嵌套循环 84
3.2.6几种循环的比较 85
3.3跳转语句 85
3.3.1 break语句 85
3.3.2 continue语句 86
3.3.3 return语句 87
3.4综合实例 88
第4章 类 91
4.1类的通用格式 91
4.2声明对象和对象初始化 96
4.3变量 98
4.3.1局部变量、全局变量和实例变量 98
4.3.2理解static 101
4.3.3变量的存储类别 102
4.4@property和@synthesize 105
4.5多输入参数的方法 110
4.6协议(protocol) 112
4.7异常处理 115
4.8调用nil对象的方法 118
4.9指针 119
4.9.1指针的类型和指针所指向的类型 119
4.9.2指针的值 120
4.9.3对象变量实际上是指针 121
4.10线程 121
4.11 Singleton(单例模式) 122
第5章 继承 125
5.1继承 125
5.2方法重写 128
5.3方法重载 130
5.4使用super 132
5.5抽象类 135
5.6动态方法调用 137
5.7访问控制 139
5.8 Category(类别) 142
第6章 编译预处理 146
6.1宏定义 146
6.1.1无参宏定义 146
6.1.2带参宏定义 148
6.1.3#运算符 150
6.2 import 151
6.3条件编译 151
6.3.1 #ifdef、 #endif、 #else和#ifndef语句 152
6.3.2 #if和#elif预处理程序语句 153
6.3.3 #undef 153
第7章 基础框架(Foundation Framework) 161
7.1数字对象(NSNumber) 161
7.1.1数字对象的使用 161
7.1.2 NSNumber方法总结 163
7.2字符串对象 164
7.2.1不可修改字符串(NSString) 165
7.2.2可修改的字符串(NSMutableString ) 171
7.3数组对象 176
7.3.1不可变数组(NSArray) 176
7.3.2可修改数组(NSMutableArray) 178
7.4字典对象(NSDictionary和NSMutableDictionary) 182
7.5集合对象(NSSet ) 185
7.6枚举访问 188
第8章 文件操作 192
8.1管理文件(NSFileManager) 192
8.2管理目录 195
8.3操作文件数据(NSData) 198
8.4操作目录总结 200
8.5文件的读写(NSFileHandle ) 203
8.6 NSProcesslnfo 205
8.6.1 NSProcesslnfo方法 205
8.6.2 NSProcesslnfo实例 206
8.6.3 NSArray和NSProcesslnfo综合例子 207
第9章 内存管理 211
9.1内存管理的基本原理 211
9.1.1申请内存(alloc) 212
9.1.2释放内存(dealloc) 212
9.2 ARC 213
9.3内存泄露 215
9.4垃圾回收(Garbage-collection) 216
9.5 copy、 nonatomic 217
第10章 数据保存 220
10.1 XML属性列表 220
10.2 NSKeyedArchiver 223
10.3保存多个对象到一个文件 226
10.4综合实例 230
第11章 AppKit和UIKit 239
11.1图形化用户界面和Cocoa 239
11.2 AppKit 240
11.3 UIKit 242
11.4多线程(NSOperation和NSOperationQueue) 243
第12章 设计模式 250
12.1 MVC模式 250
12.1.1 View(视图) 251
12.1.2视图控制器 252
12.2 Target-Action模式 253
12.3 Delegation模式 255
12.4基于设计模式的其他框架设计 256
第13章 iphone应用程序 258
13.1创建Xcode项目 258
13.2了解应用程序如何启动 262
13.3添加用户界面元素 266
13.4按钮操作的实现 269
13.4.1为按钮创建操作 269
13.4.2为按钮添加操作 269
13.5文本栏和标签的实现 271
13.5.1为文本栏和标签创建outlet 271
13.5.2为标签添加outlet 272
13.5.3建立文本栏的委托连接 273
13.5.4为用户姓名添加属性 274
13.5.5实施changeGreeting:方法 275
13.5.6将视图控制器配置为文本栏的委托 275
第14章 ipad应用程序 279
14.1 ipad介绍 279
14.2 ipad与iphone开发的对比 279
14.3 ipad应用程序开发实例 280
14.3.1添加界面元素 282
14.3.2为按钮创建操作 288
14.3.3为文本栏创建outlet 291
14.3.4建立文本栏的委托连接 292
14.3.5添加Register类和用户界面 292
14.3.6实施Register方法 297
14.3.7实施Login方法 297
第15章 Objective-C+++ 306
15.1混合语言 306
15.2 C+++词汇歧义和冲突 308
15.3一些限制 309
第16章 时间日期的处理 311
16.1时间和日期类 311
16.1.1构建日期 311
16.1.2使用时间阁 312
16.1.3日期比较 312
16.1.4使用NSCalendar 313
16.1.5使用时区 314
16.2使用NSDateFormatter 314