最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:Objective-C编程全解 第3版

    内容简介:

    本书结合理论知识和实例程序,全面而系统地介绍了Objective-C 编程的相关内容,包括类和继承、对象的类型和动态绑定、基于引用计数的内存管理、垃圾回收、属性声明、类NSObject 和运行时系统、Foundation 框架中常用的类、范畴、抽象类与类簇、对象的复制及存储、块对象、消息发送模式、图像视图、异常和错误、并行编程、键值编码等。

    本书适合iOS 应用和Mac OS X 开发初学者系统入门、有经验的开发者深入理解语言本质,也适合开发团队负责人、项目负责人作为综合性的Objective-C 参考书阅读。

    资源目录:

    第1章 面向对象的编程  1

    1.1 对象的概念  2

    1.1.1 面向功能的软件设计的局限性  2

    1.1.2 面向对象的模块化  2

    1.1.3 消息传递  3

    1.1.4 模块的抽象化  4

    1.1.5 对象的属性  5

    专栏 面向对象的方方面面  5

    1.1.6 类  6

    专栏 Cocoa和Objective-C的历史  8

    1.2 模块和对象  8

    1.2.1 软件模块  8

    1.2.2 高独立性的模块  9

    1.2.3 模块的信息隐蔽  9

    1.2.4 类的定义和接口  10

    1.2.5 消息发送的实现  10

    专栏 C语言的新标准  11

    第2章 Objective-C程序设计 13

    2.1 对象和消息  14

    2.1.1 消息表达式  14

    2.1.2 消息选择器  15

    2.1.3 实例变量的生成和初始化  16

    2.2 类的定义  17

    2.2.1 类的接口声明  17

    专栏 各种各样的布尔类型  18

    专栏 不指定方法的返回值  18

    2.2.2 类的实现  19

    2.2.3 一个遥控器的例子  19

    2.3 编译  21

    2.3.1 简单的编译方法  21

    2.3.2 多文件编译  23

    2.4 程序的书写风格  24

    2.4.1 混合编程  24

    2.4.2 C语言函数的使用方法  25

    2.4.3 静态变量的定义  26

    2.4.4 头文件的引入  26

    专栏 参考文档和SDK  27

    专栏 Xcode的安装  28

    第3章 类和继承 29

    3.1 继承的概念  30

    3.1.1 父类和子类  30

    3.1.2 类的层次结构  31

    3.2 利用继承定义新类  32

    3.2.1 继承的定义  32

    3.2.2 类定义和头文件  33

    3.2.3 继承和方法调用  34

    3.2.4 调用父类的方法  34

    3.2.5 初始化方法的定义  35

    3.3 使用继承的程序示例  36

    3.3.1 追加新方法的例子  36

    3.3.2 方法重写的例子  37

    3.4 继承和方法调用  38

    3.4.1 使用self调用方法  38

    3.4.2 使用super调用方法  39

    3.4.3 测试程序  40

    3.5 方法定义时的注意事项  41

    3.5.1 局部方法  41

    3.5.2 指定初始化方法  42

    专栏 Objective-C与开源软件  44

    第4章 对象的类型和动态绑定 45

    4.1 动态绑定  46

    4.1.1 什么是动态绑定  46

    4.1.2 多态  47

    4.2 作为类型的类  48

    4.2.1 把类作为一种类型  48

    4.2.2 空指针nil  49

    专栏 关系表达式  50

    4.2.3 静态类型检查  51

    4.2.4 静态类型检查的总结  53

    4.3 编程中的类型定义  54

    4.3.1 签名不一致时的情况  54

    专栏 重载  55

    4.3.2 类的前置声明  56

    4.3.3 强制类型转换的使用示例  57

    4.4 实例变量的数据封装  58

    4.4.1 实例变量的访问权限  58

    4.4.2 访问器  60

    4.4.3 实例变量的可见性  61

    4.4.4 在实现部分中定义实例变量  62

    4.5 类对象  63

    4.5.1 什么是类对象  63

    4.5.2 类对象的类型  64

    4.5.3 类方法的定义  65

    4.5.4 类变量  65

    4.5.5 类对象的初始化  66

    4.5.6 初始化方法的返回值  68

    第5章 基于引用计数的内存管理 69

    5.1 动态内存管理  70

    5.1.1 内存管理的必要性  70

    5.1.2 引用计数、自动引用计数和自动垃圾回收  70

    5.2 手动引用计数内存管理  71

    5.2.1 引用计数  71

    5.2.2 测试引用计数的例子  73

    5.2.3 释放对象的方法  74

    5.2.4 访问方法和对象所有权  75

    专栏 静态对象  75

    5.2.5 自动释放  76

    5.2.6 使用自动释放池时需要注意的地方  77

    5.2.7 临时对象的生成  77

    5.2.8 运行回路和自动释放池  78

    5.2.9 常量对象  78

    专栏 常量修饰符const  79

    5.3 分数计算器的例子  80

    5.3.1 分数类Faction  80

    5.3.2 保存计算结果的FracRegister类  83

    5.3.3 主函数和执行示例  85

    5.4 ARC概要  88

    5.4.1 什么是ARC  88

    5.4.2 禁止调用引用计数的相关函数  89

    5.4.3 管理自动释放池的新语法  90

    5.4.4 变量的初始值  90

    5.4.5 方法族  90

    5.4.6 方法dealloc的定义  92

    5.4.7 使用ARC的程序的编译  93

    5.4.8 ARC的基本注意事项  94

    5.4.9 使用ARC重构分数计算器  94

    5.5 循环引用和弱引用  95

    5.5.1 循环引用  95

    5.5.2 所有权和对象间的关系  96

    5.5.3 弱引用  97

    5.5.4 自动nil化的弱引用  98

    5.5.5 对象之间引用关系的基本原则  99

    5.6 ARC编程时其他一些注意事项  100

    5.6.1 可以像通常的指针一样使用的对象  100

    5.6.2 setter方法的注意事项  101

    5.6.3 通过函数的参数返回结果对象  102

    5.6.4 C语言数组保存Objective-C对象  103

    5.6.5 ARC对结构体的一些限制  105

    5.6.6 提示编译器进行特别处理  106

    第6章 垃圾回收 107

    6.1 垃圾回收的概要  108

    6.1.1 查找不再使用的对象  108

    6.1.2 编程时的注意事项  109

    6.1.3 垃圾收集器  110

    6.1.4 finalize方法的定义  111

    6.1.5 编译时的设定  112

    6.1.6 引用计数管理方式中方法的处理  113

    6.1.7 使用垃圾回收编程小结  114

    6.2 垃圾回收的详细功能  114

    6.2.1 分代垃圾回收  114

    6.2.2 弱引用  115

    6.2.3 自动nil化  115

    6.2.4 通过垃圾回收回收动态分配的内存  116

    6.2.5 _ _strong修饰符的使用方法  117

    6.2.6 NSGarbageCollector类  117

    6.2.7 实时API  118

    6.3 内存管理方式的比较  119

    6.3.1 引用计数和垃圾回收  119

    6.3.2 更改内存管理方式  120

    6.3.3 各种内存管理方式的比较  120

    第7章 属性声明 123

    7.1 属性是什么  124

    7.1.1 使用属性编程  124

    7.1.2 属性的概念  125

    专栏 内省  125

    7.2 属性的声明和功能  126

    7.2.1 显式声明属性  126

    7.2.2 属性的实现  127

    7.2.3 @synthesize和实例变量  129

    7.2.4 通过@synthesize生成实例变量  130

    7.2.5 给属性指定选项  131

    7.2.6 赋值时的选项  132

    7.2.7 原子性  134

    7.2.8 属性声明和继承  135

    7.2.9 方法族和属性的关系  135

    7.3 通过点操作符访问属性  136

    7.3.1 点操作符的使用方法  136

    7.3.2 复杂的点操作符的使用方法  137

    7.3.3 何时使用点操作符  139

    第8章 类NSObject和运行时系统 141

    8.1 类NSObject  142

    8.1.1 根类的作用  142

    8.1.2 类和实例  142

    8.1.3 实例对象的生成和释放  143

    8.1.4 初始化  144

    8.1.5 对象的比较  144

    8.1.6 对象的内容描述  145

    8.2 消息发送机制  145

    8.2.1 选择器和SEL类型  145

    8.2.2 消息搜索  146

    8.2.3 以函数的形式来调用方法  147

    专栏 函数指针  148

    8.2.4 对self进行赋值  149

    8.2.5 发送消息的速度  149

    8.2.6 类对象和根类  152

    8.2.7 Target-action paradigm  153

    8.2.8 Xcode中的动作方法和Outlet的写法  155

    8.3 Objective-C和Cocoa环境  156

    8.3.1 cocoa环境和Mac OS X  156

    8.3.2 Cocoa Touch和iOS  156

    8.3.3 框架  157

    8.3.4 框架的构成和头文件  157

    8.4 全新的运行时系统  159

    8.4.1 对64位的对应和现代运行时系统  159

    8.4.2 数据模型  159

    8.4.3 64位模型和整数类型  159

    8.4.4 Core Graphics的浮点数类型  160

    8.4.5 健壮实例变量  161

    专栏 条件编译  162

    第9章 Foundation框架中常用的类 163

    9.1 对象的可变性  164

    9.1.1 可变对象和不可变对象  164

    9.1.2 可变对象的生成  165

    9.2 字符串类NSString  166

    9.2.1 常量字符串  166

    9.2.2 NSString  167

    9.2.3 NSMutableString  174

    9.3 NSData  176

    9.3.1 NSData  176

    9.3.2 NSMutableData  178

    9.4 数组类  179

    9.4.1 NSArray  179

    9.4.2 NSMutableArray  183

    9.4.3 数组对象的所有权  184

    9.4.4 快速枚举  185

    9.4.5 枚举器NSEnumerator  186

    9.4.6 快速枚举和枚举器  187

    9.4.7 集合类  188

    9.5 词典类  189

    9.5.1 NSDictionary  191

    9.5.2 NSMutableDicitionary  193

    9.6 包裹类  194

    9.6.1 NSNumber  194

    9.6.2 NSValue  196

    9.6.3 类型编码和@encode()  196

    9.6.4 NSNull  197

    9.7 NSURL  198

    9.7.1 关于URL  198

    9.7.2 NSURL的概要  199

    9.7.3 使用NSURL来访问资源  201

    第10章 范畴 203

    10.1 范畴  204

    10.1.1 范畴  204

    10.1.2 范畴和文件的组织  205

    10.1.3 作为子模块的范畴  206

    10.1.4 方法的前向声明  207

    10.1.5 私有方法  208

    10.1.6 类扩展  209

    10.1.7 范畴和属性声明  210

    10.2 给现有类追加范畴  211

    10.2.1 追加新的方法  211

    10.2.2 追加方法的例子  212

    专栏 可变参数的方法的定义  213

    10.2.3 覆盖已有的方法  214

    10.3 关联引用  215

    10.3.1 关联引用的概念  215

    10.3.2 添加和检索关联  215

    10.3.3 对象的存储方法  216

    10.3.4 断开关联  217

    10.3.5 利用范畴的例子  217

    第11章 抽象类和类簇 221

    11.1 抽象类  222

    11.1.1 什么是抽象类  222

    11.1.2 抽象类的例子  223

    11.2 类簇  228

    11.2.1 类簇的概念  228

    11.2.2 测试程序  229

    11.2.3 编程中的注意事项  230

    11.3 生成类簇的子类  231

    11.3.1 使用范畴  231

    11.3.2 基本方法的重定义  231

    11.3.3 生成字符串的子类  233

    第12章 协议  235

    12.1 协议的概念  236

    12.1.1 什么是协议  236

    12.1.2 对象的协议  236

    12.2 Objective-C中协议的声明  238

    12.2.1 协议的声明  238

    12.2.2 协议的采用  239

    12.2.3 协议的继承  240

    12.2.4 指定协议的类型声明  240

    12.2.5 协议的前置声明  241

    12.2.6 协议适用性检查  241

    12.2.7 必选功能和可选功能  242

    12.2.8 使用协议的程序示例  242

    专栏 类的多重继承  245

    12.3 非正式协议  246

    12.3.1 什么是非正式协议  246

    12.3.2 非正式协议的用途  246

    专栏 使用宏(macro)来区分系统版本的差异  247

    第13章 对象的复制及存储  249

    13.1 对象的复制  250

    13.1.1 浅复制和深复制  250

    13.1.2 区域  251

    13.1.3 复制方法的定义  251

    13.1.4 复制方法的例子  252

    13.1.5 实现可变复制  254

    13.2 归档  255

    13.2.1 对象的归档  255

    13.2.2 Foundation框架的归档功能  255

    13.2.3 归档方法的定义  256

    13.2.4 归档的方法定义  257

    13.2.5 归档和解档的初始化方法  258

    13.3 属性表  259

    13.3.1 属性表概况  259

    13.3.2 ASCII码格式属性表  260

    13.3.3 XML格式属性表  261

    13.3.4 属性表的变换和检查  261

    第14章 块对象 263

    14.1 什么是块对象  264

    14.1.1 C编译器和GCD  264

    14.1.2 块对象的定义  264

    14.1.3 块对象和类型声明  266

    14.1.4 块对象中的变量行为  267

    14.1.5 排序函数和块对象  269

    14.2 块对象的构成  271

    14.2.1 块对象的实例和生命周期  271

    14.2.2 应该避免的编码模式  273

    14.2.3 块对象的复制  273

    14.2.4 指定特殊变量_ _block  274

    14.3 Objective-C和块对象  276

    14.3.1 方法定义和块对象  276

    14.3.2 作为Objective-C对象的块对象  276

    14.3.3 ARC和块对象  277

    14.3.4 对象内变量的行为  277

    14.3.5 集合类中添加的方法  279

    14.3.6 在窗体中使用块对象  280

    14.3.7 ARC中使用块对象时的注意事项  281

    第15章 消息发送模式 283

    15.1 应用和运行回路  284

    15.1.1 运行回路  284

    15.1.2 定时器对象  285

    15.1.3 消息的延迟执行  286

    15.2 委托  286

    15.2.1 委托的概念  286

    15.2.2 Cocoa环境中的委托  287

    15.2.3 委托的设置和协议  288

    15.2.4 使用委托的程序  289

    15.3 通知  289

    15.3.1 通知和通知中心的概念  289

    15.3.2 通知对象  290

    15.3.3 通知中心  291

    15.3.4 通知队列  293

    专栏 通知名或异常名的定义  294

    15.4 反应链  294

    15.4.1 反应链概述  294

    15.4.2 应用中的反应链  295

    15.5 消息转送  296

    15.5.1 消息转送的构成  296

    15.5.2 消息转送需要的信息  296

    15.5.3 消息转送的定义  297

    15.5.4 禁止使用消息  298

    15.5.5 程序示例  298

    15.6 撤销构造  300

    15.6.1 撤销构造的概念  300

    15.6.2 在撤销管理器中记录操作  301

    第16章 应用的构造 303

    16.1 应用束  304

    16.1.1 应用束的构造  304

    16.1.2 nib文件和各语言资源  305

    专栏 指定语言和地区  305

    16.1.3 信息文件的主要内容  306

    16.1.4 通过NSBundle访问资源  308

    16.1.5 iOS中资源的访问  310

    16.1.6 通用二进制  311

    16.2 加载nib文件  312

    16.2.1 nib文件实例化  312

    16.2.2 在Mac OS X中加载nib文件  313

    16.2.3 在iOS中加载nib文件  313

    16.2.4 nib文件内的包含循环  314

    16.2.5 nib文件内对象的初始化  314

    16.2.6 启动应用  314

    16.3 iOS的文件保存场所  316

    16.3.1 主要目录及功能  316

    16.3.2 获取目录路径  317

    16.4 用户默认  317

    16.4.1 保存设定值  317

    16.4.2 默认域  318

    16.4.3 查找用户默认的工具  319

    16.4.4 NSUserDefaults概要  319

    16.5 应用的本地化  321

    16.5.1 消息的本地化  321

    16.5.2 本地化指针  322

    专栏 本地化应用名  323

    16.5.3 本地化  323

    专栏 消息内的语序  324

    16.6 模块的动态加载  324

    16.6.1 可加载束  325

    16.6.2 使用可加载束的程序  325

    16.6.3 插件概述  326

    专栏 沙盒(App Sandbox)  327

    第17章 实例:简单图像视图 329

    17.1 Application框架和Interface Builder  330

    17.2 程序概况  330

    17.2.1 对象间的关系  330

    17.2.2 通知  331

    17.2.3 撤销和重做  332

    17.2.4 可加载束和本地化  332

    17.2.5 用户默认  332

    17.3 编程介绍  333

    17.3.1 main函数和MyViewerCtrl类  333

    17.3.2 类WinCtr  336

    17.3.3 类MyInspector  341

    17.4 应用束的组织  345

    17.4.1 创建编译和设置文件  345

    17.4.2 程序运行例子  346

    17.4.3 GUI定义文件和程序  347

    专栏 Objective-C调试器的功能  349

    第18章 异常和错误 351

    18.1 异常  352

    18.1.1 异常处理的概念  352

    18.1.2 Objective-C中的异常处理  352

    18.2 异常处理机制概述  353

    18.2.1 异常句柄和异常处理域  353

    18.2.2 异常表示类NSException  353

    18.2.3 异常处理机制的语法  354

    18.2.4 简单的异常处理的示例程序  355

    专栏 日志输出函数NSLog()  356

    18.3 异常的发生和传播   357

    18.3.1 异常的传播  357

    18.3.2 自己触发异常  357

    18.3.3 用 @throw语法产生异常  357

    18.3.4 @catch 的特殊语法   358

    18.3.5 异常传播和 @finally   358

    18.3.6 异常处理程序的注意点  359

    18.4 断言  360

    18.4.1 断言是什么  360

    18.4.2 断言宏  361

    专栏 包含可变个数的参数的宏  361

    18.5 错误处理  362

    18.5.1 错误处理结构的目的  362

    18.5.2 表示错误的类 NSError的使用方法  362

    18.5.3 获取错误对象的信息  364

    18.5.4 生成自定义错误对象  364

    18.6 错误反应链  366

    18.6.1 错误反应链的结构  366

    18.6.2 错误对象的更改和恢复  367

    专栏 单元测试  369

    第 19章 并行编程 371

    19.1 多线程  372

    19.1.1 线程的基本概念  372

    19.1.2 线程安全  372

    19.1.3 注意点  373

    19.1.4 使用 NSThread创建线程  373

    19.1.5 当前线程  374

    19.1.6 GUI应用和线程  374

    19.2 互斥  375

    19.2.1 需要互斥的例子  375

    19.2.2 锁  376

    19.2.3 死锁  377

    19.2.4 尝试获得锁  378

    19.2.5 条件锁  378

    19.2.6 NSRecursiveLock  379

    19.2.7 @synchronized  379

    19.3 操作对象和并行处理  380

    19.3.1 新的并行处理程序  380

    19.3.2 使用NSOperation的处理概述  381

    19.3.3 NSOperation和NSOperationQueue的简单用法  382

    19.3.4 等待至聚合任务终止  383

    19.3.5 使用操作对象的简单例子  383

    19.3.6 NSInvocationOperation的使用方法  385

    19.3.7 NSBlockOperation 的使用方法  385

    19.3.8 NSBlockOperation中添加多个块对象  386

    19.3.9 设置任务间的依赖  386

    19.3.10 任务的优先级设置  388

    19.3.11 设定最大并行任务数  388

    19.3.12 终止任务  389

    19.3.13 设置队列调度为中断状态  389

    19.4 并行处理的示例程序  390

    19.4.1 程序概要  390

    19.4.2 类BrowsingViewerCtrl  390

    19.4.3 类BrowsingWinCtrl  392

    19.4.4 类DrawOperation  394

    19.4.5 其他改变  396

    19.5 使用连接的通信  397

    19.5.1 连接  398

    19.5.2 代理  398

    19.5.3 方法的指针参数  399

    19.5.4 对象的副本传递  400

    19.5.5 异步通信  401

    19.5.6 设置协议  401

    19.5.7 运行回路的开始  402

    19.5.8 收发消息时的处理  402

    19.5.9 线程间连接  404

    19.5.10 进程间连接  406

    19.5.11 进程间连接的例子  407

    第20章 键值编码 411

    20.1 键值编码概况  412

    20.1.1 什么是键值编码  412

    20.1.2 键值编码的基本处理  412

    20.2 访问属性  414

    20.2.1 键值编码的方法的行为  414

    20.2.2 属性值的自动转换  415

    20.2.3 字典对象和键值编码  416

    20.2.4 根据键路径进行访问  416

    20.2.5 一对一关系和一对多关系  417

    20.2.6 数组对象和键值编码  419

    20.3 一对多关系的访问  420

    20.3.1 带索引的访问器模式  420

    20.3.2 一对多关系的可变访问  421

    20.4 KVC标准  422

    20.4.1 验证属性值  422

    20.4.2 键值编码的准则  423

    20.5 键值观察  424

    20.5.1 键值观察的基础  424

    20.5.2 示例程序  426

    20.5.3 一对多关系的属性监视  429

    20.5.4 依赖键的登记  429

    20.6 Cocoa绑定概述  430

    20.6.1 目标-行为-模式的弱点  430

    20.6.2 什么是Cocoa绑定  430

    20.6.3 Cocoa绑定所需的方法  431

    20.6.4 例题:绘制二次函数图的软件  432

    20.6.5 自定义视图的方法定义  434

    资源截图:

    1.png


    牧风资源站 » ob jective-C编程全解 第3版

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 19会员总数(位)
    • 41053资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1634稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情