Cocoa编程开发者手册
《Cocoa编程开发者手册》
基本信息
作者: (美)奇斯纳尔(Chisnall,D.)
译者: 霍炬
出版社:电子工业出版社
ISBN:9787121122392
上架时间:2013-7-22
出版日期:2013 年7月
开本:16开
页码:804
版次:1-1
所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
更多关于 》》》《
Cocoa编程开发者手册》
内容简介
计算机书籍
《cocoa编程开发者手册》是关于mac os x上cocoa api的指南,涵盖了从用户界面到网络编程各个方面的特性。本书共七个部分,详细叙述了核心的框架,以及其他许多用来构建丰富应用程序的组件,指出了庞大的api中最有价值的地方,指引读者进一步学习。
《cocoa编程开发者手册》适合mac os x应用程序开发人员及爱好者阅读。
目录
《cocoa编程开发者手册》
第一部分 cocoa概述
第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框架
第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
第8 章 cocoa 中的文本 181
8.1 字符串的构建与析构 182
8.2 字符串标注 184
8.3 本地化 186
8.3.1 本地化的宏定义 187
8.3.2 strings 文件 188
8.3.3 格式字符串的本地化 189
8.4 文本存储 190
8.5 理解字体 191
8.5.1 转换字体 192
8.5.2 罗列字体 196
8.6 显示文本 196
8.6.1 基本绘制 196
8.6.2 布局管理器 199
8.6.3 附件(attachment) 202
8.6.4 文本视图 203
8.6.5 文本控件单元 204
8.7 编写自定义文本容器 208
8.8 使用多个文本视图 212
8.9 小结 215
第三部分 cocoa文档
第9 章 创建文档驱动型应用程序 218
9.1 cocoa 文档模型 219
9.1.1 文件类型 220
9.1.2 文档对象 223
9.2 创建应用程序骨架 223
9.3 创建文档 225
9.3.1 载入窗口 225
9.3.2 建立文档模型 227
9.3.3 读入和保存文档 227
9.3.4 文档创建事件 230
9.4 扩展outliner 231
9.4.1 定义原生文件格式 231
9.4.2 定义外部文件格式 233
9.4.3 支持读入和保存 236
9.5 支持撤销 241
9.5.1 注册撤销操作 242
9.5.2 创建撤销组 243
9.5.3 处理撤销操作 244
9.5.4 撤销用户界面 244
9.6 给outliner 增加撤销功能 245
9.7 总结 254
第10 章 core data 255
10.1 数据建模介绍 256
10.2 理解托管对象 257
10.3 属性类型 258
10.4 创建数据模型 259
10.5 选择持久存储 267
10.5.1 内存存储 267
10.5.2 xml 存储 267
10.5.3 二进制存储 268
10.5.4 sqlite 存储 268
10.5.5 自定义存储 269
10.6 存储元数据 269
10.7 自动还原 271
10.8 core data、spotlight 与time machine 272
10.9 小结 273
第四部分 复杂用户界面
第11 章 处理结构化数据 276
11.1 数据源和委托对象 277
11.2 表格 277
11.2.1 表格视图的绘制 278
11.2.2 使用排序描述符 279
11.2.3 定制表格视图 281
11.3 大纲视图 284
11.3.1 扩展outliner 示例 285
11.4 浏览器视图 297
11.4.1 浏览器视图的委托 297
11.4.2 创建浏览器 298
11.5 集合视图 301
11.5.1 在集合视图中显示文件 302
11.6 用新控件单元定制视图 305
11.7 创建主- 从视图 308
11.7.1 作为细节视图的检视器 309
11.8 小结 313
第12 章 动态视图 314
12.1 多标签视图 314
12.2 分析视图层级结构 315
12.3 修改视图层级结构 317
12.3.1 改变视图的父元素 317
12.3.2 重排视图 321
12.3.3 可拖出窗口的标签 325
12.4 创建动态输入表单 329
12.4.1 用矩阵控件创建表单 330
12.4.2 用自定义视图创建表单 335
12.4.3 用规则编辑器创建表单 339
12.5 全屏应用程序 343
12.6 小结 345
第五部分 高级图形
第13 章 自定义视图 348
13.1 图形上下文 349
13.2 core graphics 350
13.3 用appkit 绘图 353
13.3.1 绘制形状 354
13.3.2 用控件单元绘制 358
13.3.3 绘制文本 366
13.3.4 创建新控件单元 371
13.3.5 绘制位图 375
13.3.6 组合图像 380
13.4 打印与视图分页 382
13.4.1 打印信息 382
13.4.2 创建打印任务 383
13.4.3 视图分页 385
13.4.4 自动分页 391
13.5 用调板扩展interface builder 392
13.6 小结 399
第14 章 声音与视频 400
14.1 提示音 400
14.2 播放简单的声音 401
14.3 理解cocoa 的影片对象 405
14.4 加上视频 408
14.5 编辑媒体 411
14.6 低层声音api 412
14.7 录音和录像 414
14.8 支持语音 417
14.9 cocoa 语音合成 418
14.10 跟用户交谈 419
14.11 总结 424
第15 章 高级视觉效果 425
15.1 简单的动画 425
15.2 core animation 综述 427
15.2.1 在图层里绘画 428
15.2.2 设置图层的内容 431
15.3 理解动画的概念 432
15.4 加上简单动画 434
15.5 图像滤镜 437
15.6 定义过渡 443
15.7 创建复杂的动画 445
15.8 core animation 三维变换 446
15.9 opengl 与cocoa 视图 450
15.10 quartz 合成器 453
15.11 总结 454
第16 章 支持pdf 和html 455
16.1 appkit 里的html 456
16.2 高级html 支持 458
16.2.1 webkit 综述 459
16.2.2 webview 委托 460
16.2.3 编辑html 461
16.3 webkit 的动态接口 465
16.4 pdf 和quartz 471
16.5 显示pdf 472
16.5.1 理解pdf 标注 476
16.5.2 设置文档的元数据 479
16.5.3 编辑pdf 480
16.6 小结 484
第六部分 用户界面集成
第17 章 搜索与过滤 486
17.1 维护文档索引 487
17.1.1 创建索引 487
17.1.2 对文档索引 489
17.1.3 搜索一个索引 490
17.2 显示搜索栏 492
17.3 搜索文档 493
17.4 spotlight 503
17.4.1 监视文件系统事件 503
17.4.2 为元数据编制索引 504
17.4.3 创建元数据导入插件 506
17.4.4 用spotlight 搜索 511
17.4.5 spotlight 的局限性 514
17.5 断言 515
17.5.1 断言语言 515
17.5.2 直接创建断言 517
17.5.3 使用断言 519
17.5.4 显示断言编辑器 520
17.6 quick look 523
17.6.1 预览包 524
17.6.2 实现quick look 插件 524
17.7 小结 526
第18 章 联系人、日历和私密信息 528
18.1 地址簿概述 529
18.1.1 一般概念 529
18.1.2 集合类 530
18.2 获取联系人的信息 532
18.3 检索地址簿 535
18.4 填写“ 我” vcard 536
18.5 在地址簿里增加联系人 538
18.6 保存私密信息 538
18.7 日历 547
18.7.1 日历存储区的概念 548
18.7.2 存取事件 549
18.7.3 新建日历 552
18.8 同步数据 553
18.8.1 使用apple 的纲要 554
18.9 小结 560
第19 章 剪贴板 561
19.1 剪贴板概览 561
19.2 剪贴板类型 564
19.3 对类型进行过滤 566
19.4 属性列表数据 567
19.5 自编码对象 567
19.6 文件和剪贴板 568
19.7 复制和粘贴 569
19.8 拖动和投放 571
19.8.1 拖动操作 572
19.8.2 投放操作 574
19.8.3 在自定义视图中实现拖放 575
19.9 拖放和数据视图 582
19.10 小结 588
第20 章 服务 589
20.1 服务示例 589
20.2 一个计算服务 591
20.3 使用服务 597
20.4 控制服务菜单 599
20.5 过滤器服务 600
20.6 小结 601
第21 章 增加脚本支持 602
21.1 脚本概览 602
21.1.1 applescript 对象模型 604
21.1.2 脚本词汇表 604
21.2 将对象脚本化 605
21.2.1 理解applescript 对象 606
21.2.2 提供对象指示符 607
21.2.3 提供一个脚本定义 609
21.2.4 处理脚本命令 613
21.2.5 测试脚本支持 617
21.3 在cocoa 程序中写脚本 620
21.4 把服务显露给automator 626
21.5 其他的脚本技术 626
21.5.1 分布式对象 627
21.5.2 f-script 627
21.6 小结 628
第七部分 系统编程
第22 章 联网 630
22.1 底层套接字编程 630
22.2 cocoa 流 636
22.3 url 的处理 637
22.3.1 创建url 638
22.3.2 从url 装入 638
22.3.3 扩展url 装载系统 641
22.4 bonjour 644
22.4.1 多播dns 644
22.4.2 dns 服务发现 645
22.4.3 浏览服务 645
22.4.4 通告服务 648
22.5 分布式对象 649
22.5.1 对象的发布 650
22.5.2 获取远程对象 652
22.5.3 一个简单的聊天程序 653
22.6 总结 660
第23 章 并发 661
23.1 分布式对象 662
23.2 线程 664
23.2.1 创建线程 664
23.2.2 线程局部存储 665
23.2.3 同步 665
23.2.4 原子操作 673
23.2.5 未来与转发 676
23.2.6 线程压力测试 678
23.3 子进程 679
23.3.1 创建子进程 679
23.3.2 跟子进程通信 680
23.3.3 共享内存 681
23.4 操作队列 685
23.5 大调度中心 690
23.6 opencl 692
23.7 小结 693
第八部分 附录
第24 章 可移植的cocoa 696
24.1 next 和sun 696
24.2 iphone 上的移动os x 697
24.3 openstep 和gnu 697
24.4 gnustep 698
24.4.1 gorm 700
24.4.2 使用gnustep 进行构建 701
24.4.3 étoilé 703
24.5 quantumstep 703
24.6 cocotron 704
24.7 gnustepweb 与sope 705
第25 章 高级技巧 706
25.1 预处理器 707
25.1.1 初始化程序 707
25.1.2 for each 707
25.1.3 objective-c 常量 709
25.1.4 简单模板 710
25.1.5 友好的调试输出 711
25.2 控制结构 711
25.2.1 nsdictionary 滥用 712
25.2.2 键—值编码 713
25.2.3 trampoline 714
25.2.4 状态机 717
25.3 整洁代码 719
25.3.1 toll-free 桥接 719
25.3.2 多重继承 720
25.4 优化 722
25.4.1 实例方法指针 723
25.4.2 推翻动态调度 724
25.4.3 栈中的类 726
25.4.4 对象池 730
25.4.5 内联函数 731
25.4.6 避免对象 733
25.5 cocoa 跨平台 734
25.6 运行系统 737
25.6.1 理解对象实现 738
25.6.2 枚举所有子类 740
25.6.3 给一个类增加方法 743