Objective-C 基础教程(Amazon超级畅销书,好评如潮)
Objective-C 基础教程(Amazon超级畅销书,好评如潮)
【作 者】(美)达尔林普尔(Dalrymple, M.),(美)纳斯特(Knaster, S.) [同作者作品] [作译者介绍]
【译 者】 高朝勒[同译者作品]
【丛 书 名】 图灵程序设计丛书
【出 版 社】 人民邮电出版社 【书 号】 9787115208774
【上架时间】 2009-7-10
【出版日期】 2009 年8月 【开 本】 16开
【内容简介】
Objective-C是创建Mac OS X应用和iPhone应用的主要语言,优雅的面向对象编程环境与快速而普及的C语言珠联璧合,造就了它的不俗表现。翻开本书你就能感到它的魅力扑面而来。.
本书全面而系统地讲述Objective-C语言的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等众多重要的面向对象编程技术。书中还阐述了如何利用Cocoa进行数据的保存、检索和操作等。..
如果你的iPhone开发经验不足,还可结合阅读《iPhone开发基础教程》、《iPhone开发秘籍》,定能收到意想不到的学习效果。祝你在iPhone开发进程中所向披靡!...
【编辑推荐】
Amazon超级畅销书,好评如潮.
全面解读Objective-C语言及Cocoa特性..
用最通俗的语言阐释深奥的知识...
译 者 序
Objective-C语言是C语言的一个扩展集,许多(可能是大多数)具备Mac OS X外观的应用程序都是使用该语言开发的。它以C语言为基础,添加了一些微妙但意义重大的特性。
苹果公司为Objective-C语言提供了Cocoa工具包。Cocoa是使用Objective-C编写的,它不仅包含Mac OS X用户界面的所有元素,还包含其他许多内容。Cocoa和Objective-C是苹果公司Mac OS X操作系统的核心。虽然Mac OS X相对较新,但Objective-C和Cocoa早在20世纪80年代就已诞生。它们由一个优秀的编程团队耗费数年时间完成,该团队从未停止过对Cocoa的更新和增强,所以直到现在,Cocoa仍在被广泛使用。
本书全面地介绍了Objective-C语言的基础知识。全书共分17章和1个附录,内容涵盖面向对象编程的基础知识,继承、复合、内存管理、对象初始化、协议、键/值编码等Objective-C语言特性,以及Xcode、Foundation Kit、AppKit等辅助工具。附录中还探讨了使用其他语言的编程人员在转向Objective-C时需要克服的一些思维障碍。本书内容丰富生动,采用示例程序与理论知识相结合的方式,不仅提供了代码片段,还有大量完整的示例程序。
本书由高朝勤、杨越、刘霞、刘炼、陈宝国等翻译,在翻译过程中得到了欧阳宇、盛海艳的热心帮助,在此表示衷心感谢。作为原著作者与中文读者之间的传话人,我们希望能把作者要表达的意思用中文完整且准确地传达出来,使更多读者能从中获益。虽然我们在翻译的过程中竭力以信、达、雅为目标,但由于水平有限,书中难免会出现疏漏,恳请广大读者给予批评指正。
译 者
2009年5月
【目录】
第1章 启程 1
1.1 预备知识 1
1.2 历史背景 1
1.3 内容简介 2
1.4 小结 3
第2章 对C的扩展 4
2.1 最简单的Objective-C程序 4
2.2 解构Hello Objective-C程序 7
2.2.1 #import 7
2.2.2 NSLog()和@"字符串" 8
2.3 布尔类型 10
2.3.1 BOOL强大的实用功能 11
2.3.2 比较 13
2.4 小结 14
第3章 面向对象编程基础知识 15
3.1 间接 15
3.1.1 变量与间接 16
3.1.2 使用文件名的间接 18
3.2 在面向对象的编程中使用间接 24
3.2.1 过程式编程 24
3.2.2 实现面向对象编程 29
3.3 学习有关的术语 33
3.4 Objective-C中的OOP 34
3.4.1 @interface部分 34
3.4.2 @implementation部分 38
3.4.3 实例化对象 40
3.4.4 扩展Shapes-Object 41
3.5 小结 43
第4章 继承 45
4.1 为何使用继承 45
4.2 继承语法 48
4.3 继承的工作机制 51
4.3.1 方法调度 51
4.3.2 实例变量 53
4.4 重写方法 55
4.5 小结 57
第5章 复合 58
5.1 什么是复合 58
5.1.1 Car程序 58
5.1.2 自定义NSLog() 59
5.2 存取方法 62
5.2.1 设置发动机的属性 64
5.2.2 设置轮胎的属性 64
5.2.3 跟踪汽车的变化 66
5.3 扩展CarParts程序 67
5.4 复合还是继承 68
5.5 小结 69
第6章 源文件组织 70
6.1 拆分接口和实现部分 70
6.2 拆分Car程序 73
6.3 使用跨文件依赖关系 75
6.3.1 重新编译须知 75
6.3.2 让汽车开动 77
6.3.3 导入和继承 79
6.4 小结 80
第7章 深入了解Xcode 82
7.1 改变公司名称 82
7.2 使用编辑器的技巧与诀窍 83
7.3 在Xcode的帮助下编写代码 85
7.3.1 首行缩进 85
7.3.2 代码自动完成 85
7.3.3 括号匹配 88
7.3.4 批量编辑 88
7.3.5 代码导航 91
7.3.6 emacs不是Mac程序 91
7.3.7 任意搜索 92
7.3.8 芝麻开门 93
7.3.9 书签 93
7.3.10 集中注意力 94
7.3.11 开启导航条 95
7.4 获取信息 98
7.4.1 研究助手 98
7.4.2 文档管理程序 99
7.5 调试 100
7.5.1 暴力调试 100
7.5.2 Xcode的调试器 100
7.5.3 精巧的调试符号 101
7.5.4 开始调试 101
7.5.5 检查程序 104
7.5 备忘表 105
7.6 小结 106
第8章 Foundation Kit快速教程 107
8.1 一些有用的数据类型 108
8.1.1 范围的作用 108
8.1.2 几何数据类型 108
8.2 字符串 109
8.2.1 创建字符串 109
8.2.2 类方法 109
8.2.3 关于大小 110
8.2.4 比较的策略 110
8.2.5 不区分大小写的比较 112
8.2.6 字符串内是否还包含别的
字符串 112
8.3 可变性 113
8.4 集合家族 115
8.4.1 NSArray 115
8.4.2 可变数组 118
8.4.3 枚举“王国” 119
8.4.4 快速枚举 120
8.4.5 NSDictionary 120
8.4.6 使用,但不要扩展 122
8.5 各种数值 122
8.5.1 NSNumber 122
8.5.2 NSValue 123
8.5.3 NSNull 124
8.6 示例:查找文件 124
8.7 小结 128
第9章 内存管理 129
9.1 对象生命周期 129
9.1.1 引用计数 130
9.1.2 对象所有权 132
9.1.3 访问方法中的保留和释放 133
9.2 自动释放 134
9.2.1 所有对象全部入池 135
9.2.2 自动释放池的销毁时间 135
9.2.3 自动释放池的工作过程 136
9.3 Cocoa内存管理规则 138
9.3.1 临时对象 138
9.3.2 拥有对象 139
9.3.3 垃圾回收 141
9.4 小结 142
第10章 对象初始化 143
10.1 分配对象 143
10.2 初始化对象 143
10.2.1 编写初始化方法 144
10.2.2 初始化时做什么 146
10.3 便利初始化函数 146
10.4 更多部件改进 147
10.4.1 Tire类的初始化 147
10.4.2 更新main()函数 149
10.4.3 清理Car类 152
10.5 支持垃圾回收风格的Car类清理 155
10.6 指定初始化函数 156
10.6.1 子类化问题 157
10.6.2 改进Tire类的初始化函数 159
10.6.3 添加AllWeatherRadial类
的初始化函数 160
10.7 初始化函数规则 160
10.8 小结 161
第11章 特性 162
11.1 修改特性值 162
11.1.1 简化接口 163
11.1.2 简化实现 164
11.1.3 点表达式的妙用 166
11.2 特性扩展 167
11.2.1 名称的使用 171
11.2.2 只读特性 172
11.2.3 特性不是万能的 173
11.3 小结 173
第12章 类别 175
12.1 创建类别 175
12.1.1 声明类别 175
12.1.2 实现类别 176
12.1.3 类别的局限性 178
12.1.4 类别的作用 178
12.2 利用类别分散实现 178
12.3 使用类别创建前向引用 182
12.4 非正式协议和委托类别 183
12.4.1 ITunesFinder项目 184
12.4.2 委托和类别 187
12.4.3 响应选择器 187
12.4.4 选择器的其他应用 188
12.5 小结 189
第13章 协议 190
13.1 正式协议 190
13.1.1 声明协议 190
13.1.2 采用协议 191
13.1.3 实现协议 192
13.2 复制 192
13.2.1 复制Engine 192
13.2.2 复制Tire 194
13.2.3 复制Car 196
13.2.4 协议和数据类型 199
13.3 Objective-C 2.0的新特性 199
13.4 小结 200
第14章 AppKit简介 201
14.1 构建项目 201
14.2 构建AppController @interface 203
14.3 Interface Builder 203
14.4 布局用户界面 205
14.5 连接 207
14.5.1 连接输出口 207
14.5.2 连接操作 208
14.6 AppController实现 210
14.7 小结 212
第15章 文件加载与保存 213
15.1 属性列表 213
15.1.1 NSDate 213
15.1.2 NSData 214
15.1.3 写入和读取属性列表 215
15.2 编码对象 216
15.3 小结 221
第16章 键/值编码 222
16.1 入门项目 222
16.2 KVC简介 224
16.3 路径 225
16.4 整体操作 226
16.4.1 中途小憩 227
16.4.2 流畅地运算 231
16.5 批处理 233
16.6 nil仍然可用 234
16.7 处理未定义的键 235
16.8 小结 236
第17章 NSPredicate 237
17.1 创建谓词 237
17.2 燃料过滤器 239
17.3 格式说明符 240
17.4 运算符 241
17.4.1 比较和逻辑运算符 242
17.4.2 数组运算符 243
17.5 SELF足够了 243
17.6 字符串运算符 245
17.7 LIKE运算符 245
17.8 小结 246
附录 从其他语言转向Objective-C 247