《图灵程序设计丛书 好学的Objective-C》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)德沃著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2012
  • ISBN:9787115273581
  • 页数:250 页
图书介绍:本书第一部分介绍了Objective-C的基础知识;第二部分深入挖掘Objective-C提供的一些功能;第三部分介绍了Foundation框架及其相关知识;第四部分介绍了一些高级主题。

第一部分 Objective-C简介 2

第1章 Objective-C简介 2

1.1 使用Xcode进行开发 3

1.1.1 新建项目 3

1.1.2 项目文件 5

1.1.3 添加源码文件 6

1.1.4 主Xcode窗口 7

1.2 理解编译过程 9

1.2.1 编码 9

1.2.2 源码、编译代码和可执行文件 11

1.2.3 查看应用包 11

1.2.4 编译设置 13

1.3 使用Xcode静态分析器 17

1.4 Objective-C运行时 20

1.5 小结 20

第2章 基本语法 21

2.1 使用语句和表达式 23

2.1.1 声明变量 23

2.1.2 使用注释 25

2.1.3 标量类型 25

2.1.4 使用特殊变量修饰符 26

2.1.5 结构体 28

2.1.6 使用类型定义 29

2.1.7 使用enum 30

2.1.8 指针 31

2.1.9 使用运算符 35

2.1.10 三目运算符 37

2.2 使用函数 37

2.2.1 函数 37

2.2.2 定义函数 39

2.2.3 实现与接口 41

2.2.4 链接实现文件 42

2.3 控制程序流 43

2.3.1 使用条件语句 44

2.3.2 使用循环语句 47

2.4 活学活用 50

2.5 小结 53

第3章 添加对象 54

3.1 对象 54

3.1.1 创建类 58

3.1.2 声明对象 64

3.1.3 调用对象方法 65

3.2 使用属性 66

3.2.1 状态和行为的区别 66

3.2.2 使用点标记 71

3.3 应用对象 72

3.3.1 创建员工对象 72

3.3.2 创建经理类 75

3.3.3 在HR主函数中关联不同的类 77

3.4 小结 78

第4章 Objective-C内存管理 79

4.1 使用引用计数 79

4.1.1 内存管理规则 81

4.1.2 使用自动释放 82

4.1.3 对象内部的内存 85

4.2 使用垃圾回收 88

4.2.1 垃圾回收器 88

4.2.2 为项目配置垃圾回收 90

4.2.3 在垃圾回收项目中使用框架 91

4.3 关键的垃圾回收模式 92

4.3.1 管理有限的资源 92

4.3.2 编写支持垃圾回收的基础应用 94

4.3.3 处理nib文件中的对象 94

4.3.4 强制垃圾回收 95

4.3.5 处理空指针和垃圾回收 95

4.3.6 使用垃圾回收的面向对象接口 96

4.4 项目使用的内存管理模型 97

4.5 小结 97

第二部分 更多特性 100

第5章 代码块 100

5.1 了解代码块 100

5.1.1 声明代码块 100

5.1.2 使用代码块 102

5.2 了解重要的代码块作用域 103

5.2.1 管理代码块内存 104

5.2.2 通过typedef提高代码块的可读性 105

5.3 在线程中使用代码块 106

5.3.1 使用GCD 106

5.3.2 使用GCD在线程中调度代码块 106

5.4 通用的代码块设计模式 107

5.4.1 将代码块作为映射 107

5.4.2 在标准API中使用代码块 108

5.5 在易并行任务中应用代码块 109

5.5.1 创建项目 109

5.5.2 在数组中使用代码块过滤素数 111

5.5.3 使用GCD 114

5.6 小结 116

第6章 键值编码和键值观察 117

6.1 通过键值编码访问对象属性 117

6.1.1 键路径 119

6.1.2 编写符合KVC标准的存取器方法 121

6.1.3 在数组中使用KVC 123

6.1.4 在结构体和标量中使用KVC 127

6.1.5 查找对象特性 128

6.2 观察对符合KVC标准的值的修改 128

6.2.1 使用KVO 129

6.2.2 注册成为观察者 129

6.2.3 定义KVO的回调 130

6.2.4 移除观察者 131

6.2.5 实现手动通知 132

6.2.6 使用KVO的风险 133

6.3 应用键值观察 133

6.4 小结 136

第7章 使用协议 137

7.1 优先使用组合而不是继承 137

7.1.1 了解为什么不需要(或不想要)多继承 139

7.1.2 理解协议如何解决问题 139

7.1.3 记录期望别人实现的接口 140

7.2 在对象中实现协议 141

7.2.1 声明协议 141

7.2.2 声明一个类实现了协议 143

7.2.3 声明一个必须实现协议的对象 143

7.2.4 正式协议和非正式协议 144

7.2.5 确定一个对象是否实现了可选方法 144

7.2.6 避免协议循环依赖 146

7.3 协议使用示例 146

7.4 小结 147

第8章 扩展现有类 148

8.1 使用第三方框架和类 148

8.2 使用类别 149

8.2.1 声明类别 149

8.2.2 实现类别方法 150

8.2.3 在头文件中声明类别 150

8.2.4 使用类别 150

8.2.5 通过类别拆分功能 151

8.2.6 扩展类方法 151

8.2.7 分析类别的局限性 153

8.2.8 通过类别实现协议 153

8.2.9 了解在NSObject上创建类别的风险 154

8.3 通过匿名类别扩展类 154

8.4 在现有类中关联变量 155

8.5 小结 157

第9章 编写宏 158

9.1 回顾编译过程 158

9.2 定义宏 162

9.2.1 定义常量 163

9.2.2 通过编译传递常量 163

9.2.3 在宏中使用变量 165

9.2.4 字符串化 165

9.2.5 使用条件判断 167

9.2.6 使用内置宏 167

9.3 小结 167

第10章 错误处理 168

10.1 错误分类 168

10.2 使用错误处理的不同机制 169

10.2.1 使用返回码 170

10.2.2 使用异常 171

10.2.3 使用NSError 176

10.3 小结 180

第三部分 使用Foundation框架 182

第11章 了解框架之间如何配合工作 182

11.1 了解Foundation框架 182

11.2 在项目中使用框架 184

11.2.1 添加框架 184

11.2.2 包含头文件 185

11.2.3 考虑垃圾回收 185

11.3 小结 185

第12章 使用字符串 186

12.1 了解字符串声明语法 186

12.1.1 使用格式化字符串 188

12.1.2 使用其他NSString方法 189

12.1.3 使用NSString类别 190

12.2 小结 190

第13章 使用集合 191

13.1 使用数组 191

13.1.1 使用字典 193

13.1.2 使用Set集合 195

13.1.3 认识可变性 196

13.2 了解集合和内存管理 198

13.3 遍历 200

13.4 向元素发送消息 201

13.5 排序和过滤 201

13.6 在集合中使用代码块 203

13.7 小结 204

第14章 使用NSValue、NSNumber和NSData 205

14.1 使用NSValue和NSNumber 206

14.1.1 通过NSValue包装任意数据类型 206

14.1.2 通过NSNumber包装数字 207

14.1.3 通过NSDecimalNumber进行算术运算 207

14.2 使用NSData和NSMutableData 208

14.2.1 创建NSData对象 208

14.2.2 访问NSData对象中的生数据 209

14.3 小结 209

第15章 处理时间和日期 210

构建日期 211

使用时间间隔 211

日期比较 211

使用NSCalender 212

使用时区 213

15.1 使用NSDateFormatter 214

15.2 小结 214

第四部分 高级主题 216

第16章 通过多个线程实现多处理 216

16.1 同步代码 217

16.1.1 使用锁 217

16.1.2 使用@synchronize关键字 219

16.1.3 理解原子性 220

16.2 创建NSTread 221

16.2.1 创建线程 221

16.2.2 控制运行的线程 221

16.2.3 访问主线程 222

16.2.4 通过执行选择器跨线程 223

16.3 使用NSOperation和NSOperationQueue 223

16.3.1 创建操作 224

16.3.2 将操作加入到队列 225

16.3.3 控制队列参数 225

16.3.4 使用不同的操作 226

16.4 小结 227

第17章 Objective-C设计模式 228

17.1 识别解决方案中的模式 228

17.2 用Objective-C描述设计模式 229

17.2.1 使用单例 229

17.2.2 委托责任 233

17.2.3 将变化通知给多个对象 234

17.3 小结 237

第18章 利用NSCoder读写数据 238

在对象上实现NSCoding协议 238

对象编码 238

基本类型编码 240

使用对象图 240

使用其他类型的数据 241

解码对象 242

18.1 使用NSArchiver和NSUnarchiver 243

18.2 处理存档文件格式和遗留数据 244

18.3 小结 244

第19章 在其他平台上使用Objective-C 245

19.1 使用GNUstep 245

19.1.1 使用Cocotron 247

19.1.2 使用其他开源库 248

19.2 展望未来 248

19.3 小结 249