《Cocoa编程开发者手册》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)DacidChisnall著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121122392
  • 页数:779 页
图书介绍:Cocoa是苹果平台的面向对象开发框架,相当于Windows平台上的.NET框架。Cocoa提供了丰富的功能和库函数,以API的形式提供给开发者使用,它是丰富多彩的苹果电脑应用程序和iPhone应用程序的核心开发库。本书是Cocoa框架的参考大全,涵盖了从用户界面到网络编程各个方面的特性。

第一部分Cocoa概述 2

第1章 Cocoa与Mac OS X 2

1.1 理解何时该用Cocoa 2

1.1.1 Carbon 3

1.1.2 Java 4

1.1.3 Cocoa 5

1.1.4 UNIX API 6

1.1.5 其他选择 7

1.2 理解Cocoa在Mac OS X中的角色 7

1.2.1 Cocoa 8

1.2.2 Quartz 9

1.2.3 Core Foundation 11

1.2.4 Darwin 12

1.2.5 XNU 13

1.3 概览 14

第2章 Cocoa的可选语言 15

2.1 面向对象 15

2.2 Objective-C 17

2.2.1 Objective-C的可选编译器 18

2.2.2 与Java及C++++的区别 19

2.2.3 Objective-C 2.0 21

2.3 Ruby与Python 22

2.4 小结 22

第3章 使用Apple的开发工具 23

3.1 获取Apple的开发工具 24

3.2 Interface Builder 24

3.2.1 Outlet与Action 26

3.2.2 Cocoa绑定 27

3.2.3 绘制简单的应用程序 28

3.3 Xcode 31

3.3.1 创建简单的项目 31

3.3.2 OpenStep Bundle 33

3.3.3 开发样例 34

3.3.4 不用Xcode来编译 35

3.4 Objective-C 36

3.4.1 为何学习Objective-C 37

3.4.2 对C的添加 37

3.4.3 异常与同步 44

3.4.4 自省 47

3.4.5 C中的Objective-C 50

3.4.6 Objective-C 2.0 51

3.4.7 Block 54

3.4.8 Objective-C++++ 56

3.5 Cocoa规约 57

3.5.1 命名 57

3.5.2 内存管理 60

3.5.3 构造器与初始化器 62

3.6 小结 64

第二部分 COCOa框架 66

第4章 Foundation: Objective-C基础库 66

4.1 一般概念 67

4.1.1 可变的 67

4.1.2 Class Cluster 67

4.2 Core Foundation类型 71

4.3 基本数据类型 72

4.3.1 非对象类型 72

4.3.2 字符串 73

4.3.3 数字和值的装箱 75

4.3.4 数据 76

4.3.5 缓存和丢弃数据 77

4.3.6 日期和时间 78

4.4 容器 79

4.4.1 比较和排序 79

4.4.2 原生容器 82

4.4.3 数组 82

4.4.4 字典 84

4.4.5 集合 84

4.5 枚举类型 85

4.5.1 利用高级消息枚举 87

4.5.2 利用block枚举 89

4.5.3 支持快速枚举 90

4.6 属性列表 95

4.6.1 序列化 96

4.6.2 用户默认值 98

4.7 和文件系统交互 101

4.7.1 Bundle 101

4.7.2 工作区和文件管理 104

4.7.3 使用路径工作 106

4.7.4 文件访问 106

4.8 通知 107

4.8.1 请求通知 108

4.8.2 发送通知 109

4.8.3 发送异步通知 110

4.8.4 分布式通知 113

4.9 小结 114

第5章 应用程序相关概念 115

5.1 Run Loop 115

5.2 应用程序和委托 122

5.3 响应者链 123

5.3.1 事件传递 124

5.3.2 目标与活动 127

5.3.3 变成首先响应者 128

5.4 应用程序里的Run Loop 128

5.5 委托与通知 131

5.6 视图层次 134

5.6.1 窗口 134

5.6.2 视图 135

5.6.3 格子 136

5.7 小结 137

第6章 创建图形用户界面 138

6.1 位置视图 138

6.2 嵌套视图 143

6.2.1 剪裁视图 143

6.2.2 滚动视图 144

6.2.3 页签视图 145

6.2.4 分割视图 146

6.2.5 方框 147

6.3 创建视图 148

6.3.1 按钮 148

6.3.2 文本视图 150

6.3.3 数据视图 150

6.3.4 菜单 158

6.4 Cocoa绑定 160

6.4.1 键—值编码 160

6.4.2 键—值观测 165

6.4.3 公开绑定 168

6.4.4 通用控制器 169

6.4.5 绑定与用户默认值 170

6.4.6 在Interface Builder中使用绑定 170

6.5 小结 176

第7章 窗口与菜单 177

7.1 理解窗口 178

7.1.1 窗口类型 180

7.2 创建窗口 181

7.3 创建窗口对象 182

7.3.1 显示窗口 183

7.3.2 隐藏窗口 185

7.3.3 了解窗口控制器 186

7.3.4 创建一个简单的窗口工厂 187

7.3.5 保存窗口的位置 190

7.4 面板 191

7.4.1 显示标准选盘 192

7.5 卷帘窗口 194

7.5.1 创建卷帘窗口 195

7.5.2 显示标准卷帘窗口 197

7.6 警告对话框 199

7.7 菜单 202

7.7.1 菜单的结构 202

7.7.2 生成窗口菜单 204

7.7.3 Dock菜单 204

7.7.4 检验菜单项 205

7.7.5 上下文菜单 206

7.7.6 弹出菜单 210

7.8 小结 212

第8章 Cocoa中的文本 213

8.1 字符串的构建与析构 214

8.2 字符串标注 216

8.3 本地化 218

8.3.1 本地化的宏定义 219

8.3.2 Strings文件 220

8.3.3 格式字符串的本地化 221

8.4 文本存储 222

8.5 理解字体 223

8.5.1 转换字体 224

8.5.2 罗列字体 228

8.6 显示文本 228

8.6.1 基本绘制 228

8.6.2 布局管理器 231

8.6.3 附件(attachment) 234

8.6.4 文本视图 235

8.6.5 文本控件单元 236

8.7 编写自定义文本容器 240

8.8 使用多个文本视图 244

8.9 小结 247

第三部分 Cocoa文档 250

第9章 创建文档驱动型应用程序 250

9.1 Cocoa文档模型 251

9.1.1 文件类型 252

9.1.2 文档对象 255

9.2 创建应用程序骨架 255

9.3 创建文档 257

9.3.1 载入窗口 257

9.3.2 建立文档模型 259

9.3.3 读入和保存文档 259

9.3.4 文档创建事件 262

9.4 扩展Outliner 263

9.4.1 定义原生文件格式 263

9.4.2 定义外部文件格式 265

9.4.3 支持读入和保存 268

9.5 支持撤销 273

9.5.1 注册撤销操作 274

9.5.2 创建撤销组 275

9.5.3 处理撤销操作 276

9.5.4 撤销用户界面 276

9.6 给Outliner增加撤销功能 277

9.7 小结 286

第10章 Core Data 287

10.1 数据建模介绍 288

10.2 理解托管对象 289

10.3 属性类型 290

10.4 创建数据模型 291

10.5 选择持久存储 299

10.5.1 内存存储 299

10.5.2 XML存储 299

10.5.3 二进制存储 300

10.5.4 SQLite存储 300

10.5.5 自定义存储 301

10.6 存储元数据 301

10.7 自动还原 303

10.8 Core Data、 Spotlight与Time Machine 304

10.9 小结 305

第四部分 复杂用户界面 308

第11章 处理结构化数据 308

11.1 数据源和委托对象 309

11.2 表格 309

11.2.1 表格视图的绘制 310

11.2.2 使用排序描述符 311

11.2.3 定制表格视图 313

11.3 大纲视图 316

11.3.1 扩展Outliner示例 317

11.4 浏览器视图 329

11.4.1 浏览器视图的委托 329

11.4.2 创建浏览器 330

11.5 集合视图 333

11.5.1 在集合视图中显示文件 334

11.6 用新控件单元定制视图 337

11.7 创建主-从视图 340

11.7.1 作为细节视图的检视器 341

11.8 小结 345

第12章 动态视图 346

12.1 多标签视图 346

12.2 分析视图层级结构 347

12.3 修改视图层级结构 349

12.3.1 改变视图的父元素 349

12.3.2 重排视图 353

12.3.3 可拖出窗口的标签 357

12.4 创建动态输入表单 361

12.4.1 用矩阵控件创建表单 362

12.4.2 用自定义视图创建表单 367

12.4.3 用规则编辑器创建表单 371

12.5 全屏应用程序 375

12.6 小结 377

第五部分 局级图形 380

第13章 自定义视图 380

13.1 图形上下文 381

13.2 Core Graphics 382

13.3 用AppKit绘图 385

13.3.1 绘制形状 386

13.3.2 用控件单元绘制 390

13.3.3 绘制文本 398

13.3.4 创建新控件单元 403

13.3.5 绘制位图 407

13.3.6 组合图像 412

13.4 打印与视图分页 414

13.4.1 打印信息 414

13.4.2 创建打印任务 415

13.4.3 视图分页 417

13.4.4 自动分页 423

13.5 用调板扩展Interface Builder 424

13.6 小结 431

第14章 声音与视频 432

14.1 提示音 432

14.2 播放简单的声音 433

14.3 理解Cocoa的影片对象 437

14.4 加上视频 440

14.5 编辑媒体 443

14.6 低层声音API 444

14.7 录音和录像 446

14.8 支持语音 449

14.9 Cocoa语音合成 450

14.10 跟用户交谈 451

14.11 小结 456

第15章 高级视觉效果 457

15.1 简单的动画 457

15.2 Core Animation综述 459

15.2.1 在图层里绘画 460

15.2.2 设置图层的内容 463

15.3 理解动画的概念 464

15.4 加上简单动画 466

15.5 图像滤镜 469

15.6 定义过渡 475

15.7 创建复杂的动画 477

15.8 Core Animation三维变换 478

15.9 OpenGL与Cocoa视图 482

15.10 Quartz合成器 485

15.11 小结 486

第16章 支持PDF和HTM L 487

16.1 AppKit里的HTML 488

16.2 高级HTML支持 490

16.2.1 WebKit综述 491

16.2.2 WebView委托 492

16.2.3 编辑HTML 493

16.3 WebKit的动态接口 497

16.4 PDF和Quartz 503

16.5 显示PDF 504

16.5.1 理解PDF标注 508

16.5.2 设置文档的元数据 511

16.5.3 编辑PDF 512

16.6 小结 516

第六部分 用户界面集成 518

第17章 搜索与过滤 518

17.1 维护文档索引 519

17.1.1 创建索引 519

17.1.2 对文档索引 521

17.1.3 搜索一个索引 522

17.2 显示搜索栏 524

17.3 搜索文档 525

17.4 Spotlight 535

17.4.1 监视文件系统事件 535

17.4.2 为元数据编制索引 536

17.4.3 创建元数据导入插件 538

17.4.4 用Spotlight搜索 543

17.4.5 Spotlight的局限性 546

17.5 断言 547

17.5.1 断言语言 547

17.5.2 直接创建断言 549

17.5.3 使用断言 551

17.5.4 显示断言编辑器 552

17.6 Quick Look 555

17.6.1 预览包 556

17.6.2 实现Quick Look插件 556

17.7 小结 558

第18章 联系人、日历和私密信息 560

18.1 地址簿概述 561

18.1.1 一般概念 561

18.1.2 集合类 562

18.2 获取联系人的信息 564

18.3 检索地址簿 567

18.4 填写“我”vCard 568

18.5 在地址簿里增加联系人 570

18.6 保存私密信息 570

18.7 日历 579

18.7.1 日历存储区的概念 580

18.7.2 存取事件 581

18.7.3 新建日历 584

18.8 同步数据 585

18.8.1 使用Apple的纲要 586

18.9 小结 592

第19章 剪贴板 593

19.1 剪贴板概览 593

19.2 剪贴板类型 596

19.3 对类型进行过滤 598

19.4 属性列表数据 599

19.5 自编码对象 599

19.6 文件和剪贴板 600

19.7 复制和粘贴 601

19.8 拖动和投放 603

19.8.1 拖动操作 604

19.8.2 投放操作 606

19.8.3 在自定义视图中实现拖放 607

19.9 拖放和数据视图 614

19.10 小结 620

第20章 服务 621

20.1 服务示例 621

20.2 一个计算服务 623

20.3 使用服务 629

20.4 控制服务菜单 631

20.5 过滤器服务 632

20.6 小结 633

第21章 增加脚本支持 634

21.1 脚本概览 634

21.1.1 AppleScript对象模型 636

21.1.2 脚本词汇表 636

21.2 将对象脚本化 637

21.2.1 理解AppleScript对象 638

21.2.2 提供对象指示符 639

21.2.3 提供一个脚本定义 641

21.2.4 处理脚本命令 645

21.2.5 测试脚本支持 649

21.3 在Cocoa程序中写脚本 652

21.4 把服务显露给Automator 658

21.5 其他的脚本技术 658

21.5.1 分布式对象 659

21.5.2 F-Script 659

21.6 小结 660

第七部分 系统编程 662

第22章 联网 662

22.1 底层套接字编程 662

22.2 Cocoa流 668

22.3 URL的处理 669

22.3.1 创建URL 670

22.3.2 从URL装入 670

22.3.3 扩展URL装载系统 673

22.4 Bonjour 676

22.4.1 多播DNS 676

22.4.2 DNS服务发现 677

22.4.3 浏览服务 677

22.4.4 通告服务 680

22.5 分布式对象 681

22.5.1 对象的发布 682

22.5.2 获取远程对象 684

22.5.3 一个简单的聊天程序 685

22.6 小结 692

第23章 并发 693

23.1 分布式对象 694

23.2 线程 696

23.2.1 创建线程 696

23.2.2 线程局部存储 697

23.2.3 同步 697

23.2.4 原子操作 705

23.2.5 未来与转发 708

23.2.6 线程压力测试 710

23.3 子进程 711

23.3.1 创建子进程 711

23.3.2 跟子进程通信 712

23.3.3 共享内存 713

23.4 操作队列 717

23.5 大调度中心 722

23.6 OpenCL 724

23.7 小结 725

第八部分 附录 728

第24章 可移植的Cocoa 728

24.1 NeXT和Sun 728

24.2 iPhone上的移动OS X 729

24.3 OpenStep和GNU 729

24.4 GNUstep 730

24.4.1 GORM 732

24.4.2 使用GNUstep进行构建 733

24.4.3 Etoile 735

24.5 QuantumSTEP 735

24.6 Cocotron 736

24.7 GNUstepWeb与SOPE 737

第25章 高级技巧 738

25.1 预处理器 739

25.1.1 初始化程序 739

25.1.2 For Each 739

25.1.3 Objective-C常量 741

25.1.4 简单模板 742

25.1.5 友好的调试输出 743

25.2 控制结构 743

25.2.1 NSDictionary滥用 744

25.2.2 键—值编码 745

25.2.3 Trampoline 746

25.2.4 状态机 749

25.3 整洁代码 751

25.3.1 Toll-Free桥接 751

25.3.2 多重继承 752

25.4 优化 754

25.4.1 实例方法指针 755

25.4.2 推翻动态调度 756

25.4.3 栈中的类 758

25.4.4 对象池 762

25.4.5 内联函数 763

25.4.6 避免对象 765

25.5 Cocoa跨平台 766

25.6 运行系统 769

25.6.1 理解对象实现 770

25.6.2 枚举所有子类 772

25.6.3 给一个类增加方法 775