OBJECTIVE-C 2.0 MAC和ios开发实践指南 原书第2版PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)ROBERTCLAIR著;陈宗斌,李江晋等译
- 出 版 社:北京:机械工业出版社
- 出版年份:2015
- ISBN:7111484561
- 页数:360 页
第一部分 ObjectiVe-C简介 2
第1章 C语言——Objective-C的基础 2
1.1 C程序的结构 3
1.1.1 main例程 3
1.1.2 格式化 4
1.1.3 注释 4
1.1.4 变量和函数名称 5
1.1.5 命名约定 5
1.1.6 文件 6
1.2 变量 6
1.2.1 整型 7
1.2.2 浮点型 8
1.2.3 真值 8
1.2.4 初始化 8
1.2.5 指针 9
1.2.6 数组 10
1.2.7 多维数组 11
1.2.8 字符串 11
1.2.9 结构 12
1.2.10 typedef 13
1.2.11 枚举常量 13
1.3 运算符 14
1.3.1 算术运算符 14
1.3.2 余数运算符 14
1.3.3 递增和递减运算符 15
1.3.4 优先级 15
1.3.5 取负运算符 16
1.3.6 比较运算符 16
1.3.7 逻辑运算符 16
1.3.8 逻辑“非”运算符 17
1.3.9 赋值运算符 17
1.3.10 转换和强制转换 18
1.3.11 其他赋值运算符 19
1.4 表达式和语句 19
1.4.1 表达式 19
1.4.2 表达式求值 20
1.4.3 语句 20
1.4.4 复合语句 20
1.5 程序流程 20
1.5.1 if语句 21
1.5.2 条件表达式 22
1.5.3 while语句 22
1.5.4 do-while循环 23
1.5.5 for语句 23
1.5.6 break语句 24
1.5.7 continue语句 24
1.5.8 逗号表达式 25
1.5.9 switch语句 25
1.5.10 goto语句 26
1.5.11 函数 27
1.5.12 声明函数 29
1.6 预处理器 29
1.6.1 包括文件 29
1.6.2 #define 30
1.6.3 条件编译 30
1.6.4 printf 31
1.7 命令行编译和调试 33
1.8 小结 35
1.9 练习 35
第2章 关于C变量的更多知识 37
2.1 C程序的内存布局 37
2.2 自动变量 38
2.3 外部变量 39
2.4 声明关键字 40
2.4.1 auto 40
2.4.2 extern 40
2.4.3 static 41
2.4.4 register 41
2.4.5 const 41
2.4.6 volatile 42
2.5 作用域 43
2.5.1 自动变量的作用域 43
2.5.2 复合语句和作用域 43
2.5.3 外部变量的作用域 44
2.6 动态分配 44
2.7 小结 47
2.8 练习 47
第3章 面向对象程序设计简介 49
3.1 面向对象程序设计 49
3.1.1 类和实例 50
3.1.2 方法 50
3.1.3 封装 50
3.1.4 继承 51
3.1.5 多态性 51
3.1.6 面向对象语言的主要特点是什么 51
3.2 Objective-C简介 52
3.2.1 定义类 52
3.2.2 使用类名作为类型 55
3.2.3 消息传递(调用方法) 55
3.2.4 类对象和对象创建 57
3.2.5 内存管理 58
3.3 Objective-C的增补功能 58
3.3.1 运行库 58
3.3.2 名称 59
3.3.3 消息表达式 59
3.3.4 编译器指令 59
3.3.5 字面量字符串 60
3.3.6 Objective-C的关键字 60
3.3.7 框架 62
3.3.8 框架数值类型 63
3.4 小结 64
第4章 你的第一个Objective-C程序 65
4.1 利用Xcode构建程序 65
4.2 Objective-C的程序结构 69
4.3 面向对象的“Hello World” 72
4.3.1 Greeter.h 73
4.3.2 Greeter.m 75
4.4 main.m 78
4.5 小结 80
4.6 练习 80
第二部分 语言基础 84
第5章 消息传递 84
5.1 方法 84
5.1.1 一个简单的方法 84
5.1.2 带有参数的方法 85
5.2 消息传递 87
5.3 消息传递的细节 89
5.3.1 嵌套 89
5.3.2 消息传递nil 90
5.3.3 把消息发送给self 91
5.3.4 重写并给super发送消息 91
5.3.5 选择器 93
5.3.6 具有相同名称的方法 95
5.3.7 动态和静态类型化 96
5.4 幕后的工作原理 97
5.5 消息转发 98
5.6 效率 99
5.7 内省及其他运行库趣事 101
5.8 小结 102
5.9 练习 102
第6章 类和对象 104
6.1 定义类 104
6.1.1 接口部分 104
6.1.2 @class指令 106
6.1.3 实现部分 106
6.1.4 导入 107
6.2 子类化一个类 108
6.2.1 定义子类 108
6.2.2 子类化的示例 108
6.2.3 类层次结构 112
6.2.4 类层次结构示例 112
6.2.5 抽象类 113
6.3 创建对象 114
6.3.1 对象分配 114
6.3.2 对象初始化 115
6.4 销毁对象 122
6.5 复制对象 123
6.5.1 浅复制和深复制 124
6.5.2 可变复制和不可变复制 124
6.5.3 在自己的类中实现复制 125
6.6 小结 127
6.7 练习 128
第7章 类对象 129
7.1 类对象 129
7.1.1 Class类型 130
7.1.2 类方法 132
7.2 其他类方法 133
7.2.1 便利构造函数 133
7.2.2 单例 134
7.2.3 初始化类 135
7.3 模拟类变量 136
7.4 小结 141
7.5 练习 142
第8章 框架 144
8.1 框架是什么 145
8.2 Cocoa和Cocoa Touch 145
8.2.1 OS X 146
8.2.2 iOS 146
8.3 AppKit 147
8.4 UIKit 147
8.5 Core Foundation框架 148
8.5.1 Core Foundation对象的内存管理 149
8.5.2 免费桥接 150
8.6 Core Graphics 151
8.7 Core Animation 152
8.8 Apple提供的其他框架 153
8.9 第三方框架 153
8.10 幕后的工作原理 154
8.11 小结 155
第9章 常用的Foundation类 156
9.1 不可变类和可变类 156
9.2 类簇 157
9.3 NSString 158
9.3.1 NSString示例 159
9.3.2 在C字符串与NSString之间来回转换 161
9.3.3 NSMutableString 161
9.3.4 字面量字符串 162
9.4 集合类 162
9.4.1 NSArray 162
9.4.2 NSDictionary 165
9.4.3 NSSet 166
9.5 NSNumber 167
9.6 NSNull 169
9.7 NSData 170
9.7.1 访问NSData的字节 170
9.7.2 在文件与NSData之间转移内容 171
9.8 NSURL 171
9.9 Objective-C字面量和对象下标 172
9.9.1 NSArray字面量 172
9.9.2 NSDictionary字面量 173
9.9.3 NSNumber字面量 173
9.9.4 装箱表达式 174
9.9.5 对象和下标 176
9.9.6 给自己的类添加下标 177
9.10 结构 178
9.11 iOS上的几何结构 180
9.12 小结 180
9.13 练习 180
第10章 Objective-C中的控制结构 183
10.1 if语句 183
10.2 for语句和隐式循环 187
10.2.1 for语句 187
10.2.2 隐式循环 188
10.2.3 带有块的隐式循环 188
10.3 while语句和NSEnumerator 189
10.4 快速枚举 191
10.5 使用快速枚举的示例 193
10.6 异常 196
10.6.1 抛出你自己的异常 197
10.6.2 多个@catch块 198
10.6.3 嵌套的异常处理 199
10.6.4 使用异常 199
10.6.5 你应该使用异常吗 200
10.7 小结 201
10.8 练习 202
第11章 类别、扩展和安全 204
11.1 类别 204
11.1.1 利用类别重写方法 207
11.1.2 类别的其他用途 208
11.2 关联引用 208
11.3 扩展 210
11.4 实例变量作用域(访问控制) 212
11.5 隐藏实例变量声明 213
11.6 针对方法的访问控制 215
11.7 命名空间 216
11.8 安全 216
11.9 从Objective-C中调用C函数 219
11.9.1 技术部分 219
11.9.2 实践部分 219
11.9.3 哲学部分 219
11.10 小结 220
11.11 练习 220
第12章 属性 222
12.1 在对象外面访问实例变量(不要这样做) 223
12.2 声明和实现访问器 224
12.3 使用属性的访问器 226
12.4 合成的实例变量 229
12.5 默认使用@synthesize 229
12.6 合成总结 230
12.6.1 显式声明 230
12.6.2 默认的合成方式 231
12.7 私有属性 231
12.8 @property语句 231
12.8.1 assign、retain和copy 232
12.8.2 readwrite和readonly 232
12.8.3 nonatomic 233
12.8.4 setter=name和getter=name 233
12.8.5 attributes和@dynamic 233
12.9 关于@dynamic的更多知识 234
12.10 没有实例变量的属性 234
12.11 属性和内存管理 235
12.12 提前探讨自动引用计数(ARC) 236
12.12.1 strong 236
12.12.2 weak 237
12.12.3 unsafe_unretained 237
12.13 子类化和属性 237
12.14 用于readonly属性的隐藏的设置器 238
12.15 属性作为文档 239
12.16 点语法 239
12.16.1 点语法和属性 241
12.16.2 点语法和C结构 241
12.17 小结 243
12.18 练习 244
第13章 协议 245
13.1 协议的理论基础 245
13.2 使用协议 246
13.2.1 声明协议 246
13.2.2 采用协议 247
13.2.3 协议作为类型 248
13.2.4 属性和协议 248
13.3 ablePrinter示例 249
13.3.1 TablePrinterDataSource 249
13.3.2 TablePrinter 250
13.3.3 FruitBasket 252
13.3.4 main 253
13.3.5 一个问题 254
13.3.6 实现可选方法 255
13.4 协议对象和一致性测试 255
13.5 非正式协议 256
13.6 小结 257
13.7 练习 258
第三部分 高级概念 260
第14章 内存管理概述 260
14.1 问题 261
14.2 解决方案:Objective-C内存管理 261
14.2.1 引用计数(手动引用计数) 262
14.2.2 自动引用计数(ARC) 262
14.3 继续学习下面的内容 263
第15章 引用计数 264
15.1 引用计数的基础知识 264
15.2 接收对象 266
15.3 所有权 268
15.4 dealloc 269
15.5 返回对象 270
15.5.1 自动释放 272
15.5.2 自动释放池 272
15.5.3 管理自动释放池 273
15.5.4 回到便利构造函数上来 274
15.5.5 自动释放和iOS 275
15.5.6 使用额外的自动释放池控制内存使用 275
15.6 retainCount 276
15.7 多线程 276
15.8 何时保留计数会出错 278
15.9 保留循环 280
15.10 最后说再见:曲终人散时 283
15.11 小结 283
15.12 练习 284
第16章 ARC 286
16.1 ARC是什么,不是什么 287
16.2 ARC的工作方式 287
16.3 ARC会强加一些规则 289
16.3.1 你不能自己调用内存管理方法 289
16.3.2 ARC和dealloc 289
16.3.3 方法命名约定 290
16.3.4 ARC需要看到方法声明 291
16.3.5 Obiective-C指针和C结构 292
16.4 新的变量修饰符 293
16.4.1 _strong 293
16.4.2 _weak 294
16.4.3 _autoreleasing 295
16.4.4 _unsafe_unretained 295
16.5 属性 296
16.6 保留循环 298
16.7 ARC和Core Foundation 300
16.7.1 从方法返回的CF对象 301
16.7.2 免费桥接 301
16.8 与void之间来回进行强制转换 303
16.9 ARC和额外的自动释放池 305
16.10 ARC和异常 306
16.11 使用ARC 306
16.11.1 Mac OS X上的ARC 306
16.11.2 iOS上的ARC 307
16.11.3 利用ARC生成程序 307
16.12 ARC使用运行库函数 308
16.13 更多信息 309
16.14 小结 309
16.15 练习 310
第17章 块 312
17.1 函数指针 313
17.1.1 利用函数指针调用函数 314
17.1.2 使用函数指针 315
17.1.3 使用函数指针的问题 317
17.2 NSInvocation 318
17.3 块 320
17.3.1 块指针 320
17.3.2 访问变量 321
17.3.3 块变量 323
17.3.4 块是基于栈的 324
17.3.5 全局块 324
17.3.6 块是Objective-C对象 325
17.3.7 复制块 325
17.3.8 块的内存管理 326
17.3.9 捕获self 327
17.3.10 陷阱 329
17.3.11 块和ARC 330
17.3.12 Cocoa中的块 331
17.3.13 风格问题 334
17.4 一些哲学上的限制 334
17.5 小结 335
17.6 练习 335
第18章 额外的知识 337
18.1 具有固定的底层类型的枚举 337
18.1.1 设置底层类型 338
18.1.2 NS_ENUM宏 339
18.1.3 类型检查枚举 339
18.1.4 利用枚举参数检查switch语句 340
18.2 在@implementation块中不再需要方法的前置声明 340
18.3 一些新文档 343
18.4 小结 343
18.5 练习 343
第四部分 附录 346
附录A 保留字和编译器指令 346
附录B 免费桥接类 348
附录C 32位和64位 350
附录D 脆弱的基类问题 354
附录E 用于Objective-C的资源 355
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《反思性实践》胡红梅, 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019