当前位置:首页 > 工业技术
OBJECTIVE-C 2.0 MAC和ios开发实践指南  原书第2版
OBJECTIVE-C 2.0 MAC和ios开发实践指南  原书第2版

OBJECTIVE-C 2.0 MAC和ios开发实践指南 原书第2版PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(美)ROBERTCLAIR著;陈宗斌,李江晋等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:7111484561
  • 页数:360 页
图书介绍:
《OBJECTIVE-C 2.0 MAC和ios开发实践指南 原书第2版》目录

第一部分 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

返回顶部