微信扫一扫,移动浏览光盘
简介
本书由浅入深,全面、系统地介绍了Objective-C开发技术。本书最大的特色就是提供了大量的插图,一改过去编程书籍枯燥乏味的文字讲解,利用各种说明插图和运行结果示意图,生动形象地再现了Objective-C开发需要的所有知识,使读者能够轻松地掌握学习内容。另外,作者专门为每一章编写了一些习题,以便读者对该章的学习水平进行检测。本书还录制了大量的配套教学视频,这些视频和书中的实例源代码一起收录于本书的配书光盘中。
目录
第一篇基础篇
第1章第一个Objective—C程序2
1.1Objective—C开发概述2
1.1.1Objective—C的发展史2
1.1.2Objective—C的特点3
1.2构建开发环境4
1.2.1Objective—C开发环境的安装条件4
1.2.2VirtualBox下载和安装5
1.2.3虚拟机的建立7
1.2.4设置虚拟机10
1.2.5安装系统11
1.2.6进入界面11
1.2.7下载和安装Xcode16
1.3“HelloWorld!”程序20
1.3.1创建HelloObjective—C项目20
1.3.2编译、连接及运行22
1.4Objective—C代码认识24
1.4.1查看源文件24
1.4.2Objective—C程序的结构25
1.4.3注释25
1.4.4标识符26
1.5小结28
1.6习题28
第2章数据类型30
2.1数30
2.1.1二进制数30
2.1.2十进制数31
2.1.3八进制数32
2.1.4十六进制数33
2.1.5各进制之间的转换34
2.2数据类型34
2.2.1整数类型34
2.2.2实型数据36
2.2.3字符型37
2.2.4数据类型的输出40
2.2.5Objective—C特有的数据类型40
2.3变量和常量40
2.3.1变量41
2.3.2常量43
2.4小结45
2.5习题45
第3章语句48
3.1语句的构成48
3.2运算符及表达式49
3.2.1算术运算符及表达式49
3.2.2自增自减运算符51
3.2.3位运算符52
3.2.4赋值运算符及表达式55
3.2.5关系运算符及表达式59
3.2.6条件运算符60
3.2.7布尔逻辑运算符及表达式62
3.2.8逗号运算符及表达式64
3.2.9求字节数运算符65
3.2.10特殊的运算符66
3.2.11运算符的优先级67
3.3类型转换69
3.3.1自动转换69
3.3.2强制类型转换71
3.4语句块72
3.4.1语句块的结构72
3.4.2作用域73
3.5小结74
3.6习题74
第4章程序控制结构77
4.1顺序结构77
4.2选择结构78
4.2.1条件语句的组成78
4.2.2if语句79
4.2.3if...else语句80
4.2.4if...else...if语句82
4.2.5三种if语句的注意事项84
4.2.6if语句的嵌套86
4.2.7switch语句87
4.3循环结构90
4.3.1while语句91
4.3.2for语句92
4.3.3do...while语句97
4.3.4三种循环语句的比较98
4.4转折语句99
4.4.1break语句99
4.4.2continue101
4.4.3break和continue的比较101
4.4.4return语句102
4.5小结102
4.6习题103
第5章函数105
5.1函数简介105
5.2函数的使用107
5.2.1函数的声明107
5.2.2函数的定义和调用107
5.2.3函数使用中的问题109
5.2.4空函数110
5.3函数的参数111
5.3.1参数111
5.3.2有参函数的定义和调用112
5.3.3参数的注意事项113
5.3.4函数的传递方式114
5.4函数的返回值115
5.4.1返回某一数据类型的值115
5.4.2无返回值117
5.5函数的嵌套和递归117
5.5.1函数的嵌套117
5.5.2函数的递归119
5.6小结120
5.7习题120
第二篇面向对象篇
第6章面向对象编程124
6.1类和对象124
6.1.1类的声明和定义124
6.1.2实例化对象126
6.2实例变量130
6.2.1实例变量的定义130
6.2.2实例变量的使用130
6.2.3实例变量、全局变量和局部变量的区别131
6.2.4变量的存储类别132
6.3方法135
6.3.1方法的声明135
6.3.2方法的实现136
6.3.3对象方法的使用136
6.3.4类方法的使用138
6.3.5方法的参数139
6.4属性142
6.4.1属性的声明和定义142
6.4.2带参属性144
6.4.3带参属性——setter/getter方法(assign/retain/copy)144
6.4.4带参属性——读写属性148
6.4.5带参属性——原子修饰149
6.5小结150
6.6习题150
第7章深入面向对象的编程154
7.1继承154
7.1.1继承的实现154
7.1.2实例变量的继承155
7.1.3方法的继承158
7.2访问限定符159
7.2.1@public159
7.2.2@protected161
7.2.3@private161
7.2.4访问限定符的区别162
7.3方法重写163
7.3.1方法重写的形式163
7.3.2super164
7.4方法重载165
7.5多层继承166
7.6多态169
7.6.1多态的形式169
7.6.2方法的重写实现多态170
7.6.3方法的重载实现多态171
7.7动态类型和动态绑定172
7.7.1动态类型id172
7.7.2动态绑定173
7.8小结174
7.9习题174
第8章分类和协议180
8.1分类180
8.1.1分类的声明180
8.1.2分类的定义180
8.1.3分类的使用181
8.1.4分类的创建181
8.1.5分类使用的注意点183
8.2协议185
8.2.1协议的定义185
8.2.2协议的创建186
8.2.3协议在类中的声明187
8.2.4所用协议声明方法187
8.2.5关键字188
8.2.6多个协议的使用192
8.2.7在协议中使用协议193
8.2.8判断协议实现的方法194
8.2.9协议的分类195
8.3小结196
8.4习题196
第三篇技术篇
第9章内存管理200
9.1内存管理的基础200
9.1.1申请内存(alloc)200
9.1.2释放内存(dealloc)201
9.2引用计数204
9.2.1引用计数和字符串205
9.2.2引用计数和实例变量206
9.3自动释放池207
9.3.1自动释放池207
9.3.2建立多个自动释放池209
9.3.3引用计数和自动释放池210
9.4内存管理规则及内存泄漏211
9.4.1内存管理规则211
9.4.2内存泄漏213
9.5垃圾回收213
9.6小结214
9.7习题214
第10章Foundation框架的基本对象217
10.1数字对象217
10.1.1数字对象的介绍217
10.1.2数字对象的使用218
10.2字符串对象224
10.2.1字符串和字符的区别224
10.2.2不可修改的字符串225
10.2.3可修改的字符串232
10.3数组对象235
10.3.1数组的定义235
10.3.2数组的声明235
10.3.3数组的引用237
10.3.4二维数组的声明和定义238
10.3.5二维数组初始化的方法239
10.3.6二维数组的引用240
10.3.7字符数组的含义241
10.3.8字符数组初始化241
10.3.9字符数组的引用241
10.3.10不可修改的数组242
10.3.11可修改的数组246
10.4字典对象251
10.4.1不可修改的字典251
10.4.2.可修改的字典253
10.5集合对象256
10.5.1不可修改的集合257
10.5.2可修改的集合259
10.6小结263
10.7习题263
第11章文件和目录处理267
11.1文件的操作267
11.1.1创建文件267
11.1.2文件的使用268
11.1.3对文件数据的操作274
11.1.4文件的读写278
11.2目录的操作286
11.2.1目录的基本操作方法286
11.2.2目录的显示289
11.2.3临时目录292
11.2.4路径293
11.3小结294
11.4习题294
第12章编译预处理296
12.1宏定义296
12.1.1不带参宏定义296
12.1.2带参宏297
12.1.3使用宏的注意点298
12.1.4宏的取消299
12.2文件包含301
12.3条件编译304
12.3.1#ifdef304
12.3.2#ifndef305
12.3.3#if307
12.3.4编译预处理总结307
12.4小结308
12.5习题308
第13章进程和线程312
13.1进程312
13.1.1创建进程312
13.1.2进程的使用313
13.1.3进程方法总结315
13.2线程315
13.2.1使用NSThread创建线程316
13.2.2启动线程316
13.2.3访问主线程318
13.3互斥锁318
13.3.1NSLock319
13.3.2@synchronized320
13.4进程和线程的区别321
13.5小结322
13.6习题322
第14章归档324
14.1XML属性列表324
14.1.1使用XML进行数据保存324
14.1.2使用XML进行数据读取326
14.2NSKeyedArchiver329
14.2.1NSKeyedArchive的数据保存330
14.2.2NSKeyedArchive的数据读取331
14.3编码和解码方法331
14.3.1直接进行归档332
14.3.2编码方法333
14.3.3解码方法333
14.4保存多个对象到一个文件335
14.5使用归档程序复制对象337
14.6小结337
14.7习题338
第15章错误处理341
15.1错误的分类341
15.2使用返回值342
15.3使用异常处理342
15.3.1异常处理的使用343
15.3.2捕获不同类型的异常345
15.3.3使用异常的注意点346
15.3.4抛出异常348
15.4使用NSError349
15.5小结350
15.6习题351
第16章时间日期处理352
16.1NSDate352
16.1.1创建NSDate352
16.1.2获取当前的日期353
16.1.3获取昨天的日期353
16.1.4日期的比较355
16.1.5两个日期的时间差358
16.1.6时间间隔358
16.2使用NSCalendar359
16.2.1创建一个给定日期的NSDate对象359
16.2.2日期在不同日历间的转换361
16.2.3获取日期总的年月日361
16.3字符串和日期的相互转化362
16.3.1将日期转化为字符串362
16.3.2将字符串转化为日期363
16.4时区365
16.5小结366
16.6习题366
第四篇iPhone开发入门篇
第17章iPhone入门370
17.1iPhone简介370
17.1.1iPhone的发展370
17.1.2编写iPhone应用程序和其他程序的不同371
17.2第一个“HelloWorld!”程序371
17.2.1创建HelloWorld项目371
17.2.2iPhoneSimulator的简介371
17.2.3使用InterfaceBuilder373
17.2.4编写第一个“HelloWorld!”程序376
17.3小结377
第1章第一个Objective—C程序2
1.1Objective—C开发概述2
1.1.1Objective—C的发展史2
1.1.2Objective—C的特点3
1.2构建开发环境4
1.2.1Objective—C开发环境的安装条件4
1.2.2VirtualBox下载和安装5
1.2.3虚拟机的建立7
1.2.4设置虚拟机10
1.2.5安装系统11
1.2.6进入界面11
1.2.7下载和安装Xcode16
1.3“HelloWorld!”程序20
1.3.1创建HelloObjective—C项目20
1.3.2编译、连接及运行22
1.4Objective—C代码认识24
1.4.1查看源文件24
1.4.2Objective—C程序的结构25
1.4.3注释25
1.4.4标识符26
1.5小结28
1.6习题28
第2章数据类型30
2.1数30
2.1.1二进制数30
2.1.2十进制数31
2.1.3八进制数32
2.1.4十六进制数33
2.1.5各进制之间的转换34
2.2数据类型34
2.2.1整数类型34
2.2.2实型数据36
2.2.3字符型37
2.2.4数据类型的输出40
2.2.5Objective—C特有的数据类型40
2.3变量和常量40
2.3.1变量41
2.3.2常量43
2.4小结45
2.5习题45
第3章语句48
3.1语句的构成48
3.2运算符及表达式49
3.2.1算术运算符及表达式49
3.2.2自增自减运算符51
3.2.3位运算符52
3.2.4赋值运算符及表达式55
3.2.5关系运算符及表达式59
3.2.6条件运算符60
3.2.7布尔逻辑运算符及表达式62
3.2.8逗号运算符及表达式64
3.2.9求字节数运算符65
3.2.10特殊的运算符66
3.2.11运算符的优先级67
3.3类型转换69
3.3.1自动转换69
3.3.2强制类型转换71
3.4语句块72
3.4.1语句块的结构72
3.4.2作用域73
3.5小结74
3.6习题74
第4章程序控制结构77
4.1顺序结构77
4.2选择结构78
4.2.1条件语句的组成78
4.2.2if语句79
4.2.3if...else语句80
4.2.4if...else...if语句82
4.2.5三种if语句的注意事项84
4.2.6if语句的嵌套86
4.2.7switch语句87
4.3循环结构90
4.3.1while语句91
4.3.2for语句92
4.3.3do...while语句97
4.3.4三种循环语句的比较98
4.4转折语句99
4.4.1break语句99
4.4.2continue101
4.4.3break和continue的比较101
4.4.4return语句102
4.5小结102
4.6习题103
第5章函数105
5.1函数简介105
5.2函数的使用107
5.2.1函数的声明107
5.2.2函数的定义和调用107
5.2.3函数使用中的问题109
5.2.4空函数110
5.3函数的参数111
5.3.1参数111
5.3.2有参函数的定义和调用112
5.3.3参数的注意事项113
5.3.4函数的传递方式114
5.4函数的返回值115
5.4.1返回某一数据类型的值115
5.4.2无返回值117
5.5函数的嵌套和递归117
5.5.1函数的嵌套117
5.5.2函数的递归119
5.6小结120
5.7习题120
第二篇面向对象篇
第6章面向对象编程124
6.1类和对象124
6.1.1类的声明和定义124
6.1.2实例化对象126
6.2实例变量130
6.2.1实例变量的定义130
6.2.2实例变量的使用130
6.2.3实例变量、全局变量和局部变量的区别131
6.2.4变量的存储类别132
6.3方法135
6.3.1方法的声明135
6.3.2方法的实现136
6.3.3对象方法的使用136
6.3.4类方法的使用138
6.3.5方法的参数139
6.4属性142
6.4.1属性的声明和定义142
6.4.2带参属性144
6.4.3带参属性——setter/getter方法(assign/retain/copy)144
6.4.4带参属性——读写属性148
6.4.5带参属性——原子修饰149
6.5小结150
6.6习题150
第7章深入面向对象的编程154
7.1继承154
7.1.1继承的实现154
7.1.2实例变量的继承155
7.1.3方法的继承158
7.2访问限定符159
7.2.1@public159
7.2.2@protected161
7.2.3@private161
7.2.4访问限定符的区别162
7.3方法重写163
7.3.1方法重写的形式163
7.3.2super164
7.4方法重载165
7.5多层继承166
7.6多态169
7.6.1多态的形式169
7.6.2方法的重写实现多态170
7.6.3方法的重载实现多态171
7.7动态类型和动态绑定172
7.7.1动态类型id172
7.7.2动态绑定173
7.8小结174
7.9习题174
第8章分类和协议180
8.1分类180
8.1.1分类的声明180
8.1.2分类的定义180
8.1.3分类的使用181
8.1.4分类的创建181
8.1.5分类使用的注意点183
8.2协议185
8.2.1协议的定义185
8.2.2协议的创建186
8.2.3协议在类中的声明187
8.2.4所用协议声明方法187
8.2.5关键字188
8.2.6多个协议的使用192
8.2.7在协议中使用协议193
8.2.8判断协议实现的方法194
8.2.9协议的分类195
8.3小结196
8.4习题196
第三篇技术篇
第9章内存管理200
9.1内存管理的基础200
9.1.1申请内存(alloc)200
9.1.2释放内存(dealloc)201
9.2引用计数204
9.2.1引用计数和字符串205
9.2.2引用计数和实例变量206
9.3自动释放池207
9.3.1自动释放池207
9.3.2建立多个自动释放池209
9.3.3引用计数和自动释放池210
9.4内存管理规则及内存泄漏211
9.4.1内存管理规则211
9.4.2内存泄漏213
9.5垃圾回收213
9.6小结214
9.7习题214
第10章Foundation框架的基本对象217
10.1数字对象217
10.1.1数字对象的介绍217
10.1.2数字对象的使用218
10.2字符串对象224
10.2.1字符串和字符的区别224
10.2.2不可修改的字符串225
10.2.3可修改的字符串232
10.3数组对象235
10.3.1数组的定义235
10.3.2数组的声明235
10.3.3数组的引用237
10.3.4二维数组的声明和定义238
10.3.5二维数组初始化的方法239
10.3.6二维数组的引用240
10.3.7字符数组的含义241
10.3.8字符数组初始化241
10.3.9字符数组的引用241
10.3.10不可修改的数组242
10.3.11可修改的数组246
10.4字典对象251
10.4.1不可修改的字典251
10.4.2.可修改的字典253
10.5集合对象256
10.5.1不可修改的集合257
10.5.2可修改的集合259
10.6小结263
10.7习题263
第11章文件和目录处理267
11.1文件的操作267
11.1.1创建文件267
11.1.2文件的使用268
11.1.3对文件数据的操作274
11.1.4文件的读写278
11.2目录的操作286
11.2.1目录的基本操作方法286
11.2.2目录的显示289
11.2.3临时目录292
11.2.4路径293
11.3小结294
11.4习题294
第12章编译预处理296
12.1宏定义296
12.1.1不带参宏定义296
12.1.2带参宏297
12.1.3使用宏的注意点298
12.1.4宏的取消299
12.2文件包含301
12.3条件编译304
12.3.1#ifdef304
12.3.2#ifndef305
12.3.3#if307
12.3.4编译预处理总结307
12.4小结308
12.5习题308
第13章进程和线程312
13.1进程312
13.1.1创建进程312
13.1.2进程的使用313
13.1.3进程方法总结315
13.2线程315
13.2.1使用NSThread创建线程316
13.2.2启动线程316
13.2.3访问主线程318
13.3互斥锁318
13.3.1NSLock319
13.3.2@synchronized320
13.4进程和线程的区别321
13.5小结322
13.6习题322
第14章归档324
14.1XML属性列表324
14.1.1使用XML进行数据保存324
14.1.2使用XML进行数据读取326
14.2NSKeyedArchiver329
14.2.1NSKeyedArchive的数据保存330
14.2.2NSKeyedArchive的数据读取331
14.3编码和解码方法331
14.3.1直接进行归档332
14.3.2编码方法333
14.3.3解码方法333
14.4保存多个对象到一个文件335
14.5使用归档程序复制对象337
14.6小结337
14.7习题338
第15章错误处理341
15.1错误的分类341
15.2使用返回值342
15.3使用异常处理342
15.3.1异常处理的使用343
15.3.2捕获不同类型的异常345
15.3.3使用异常的注意点346
15.3.4抛出异常348
15.4使用NSError349
15.5小结350
15.6习题351
第16章时间日期处理352
16.1NSDate352
16.1.1创建NSDate352
16.1.2获取当前的日期353
16.1.3获取昨天的日期353
16.1.4日期的比较355
16.1.5两个日期的时间差358
16.1.6时间间隔358
16.2使用NSCalendar359
16.2.1创建一个给定日期的NSDate对象359
16.2.2日期在不同日历间的转换361
16.2.3获取日期总的年月日361
16.3字符串和日期的相互转化362
16.3.1将日期转化为字符串362
16.3.2将字符串转化为日期363
16.4时区365
16.5小结366
16.6习题366
第四篇iPhone开发入门篇
第17章iPhone入门370
17.1iPhone简介370
17.1.1iPhone的发展370
17.1.2编写iPhone应用程序和其他程序的不同371
17.2第一个“HelloWorld!”程序371
17.2.1创建HelloWorld项目371
17.2.2iPhoneSimulator的简介371
17.2.3使用InterfaceBuilder373
17.2.4编写第一个“HelloWorld!”程序376
17.3小结377
突破Objective-C开发速学手册
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!