书籍详情
Objective-C基础教程(第2版)
作者:(美)Scott Knaster (美)Waqar Malik (美)Mark Dalrymple 著,周庆成 译
出版社:人民邮电出版社
出版时间:2013-05-01
ISBN:9787115314581
定价:¥59.00
购买这本书可以去
内容简介
Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。《Objective-C基础教程(第2版)》结合理论知识与示例程序,全面而系统地介绍了Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性、Cocoa工具包的功能及框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。《Objective-C基础教程(第2版)》适合各类开发人员阅读。
作者简介
Scott KnasterMac开发界传奇人物,曾就职于苹果公司,帮助开发人员编写早期平台的Mac软件。目前在谷歌工作,负责维护Google MacBlog。著有多部程序员必读的经典著作,如How to Write Macintosh Software、Hacking Mac OSX Tiger和Macintosh Programming Secrets。Waqar MalikUNIX迷,Macintosh控。早期曾就职于苹果公司,帮助开发Cocoa和Unix。目前创立了技术咨询公司CrimsonResearch,从事Cocoa应用开发工作。Mark Dalrymple资深Mac和Unix程序员,有20多年开发经验,曾开发过跨平台工具包、因特网发布工具、高性能Web服务器和终端用户桌面应用。另外,他还与人合著过CoreMac OS X and Unix Programming和Advanced Mac OS X Programming(《Mac OSX高级编程权威指南》)。Scott KnasterMac开发界传奇人物,曾就职于苹果公司,帮助开发人员编写早期平台的Mac软件。目前在谷歌工作,负责维护Google MacBlog。著有多部程序员必读的经典著作,如How to Write Macintosh Software、Hacking Mac OSX Tiger和Macintosh Programming Secrets。Waqar MalikUNIX迷,Macintosh控。早期曾就职于苹果公司,帮助开发Cocoa和Unix。目前创立了技术咨询公司CrimsonResearch,从事Cocoa应用开发工作。Mark Dalrymple资深Mac和Unix程序员,有20多年开发经验,曾开发过跨平台工具包、因特网发布工具、高性能Web服务器和终端用户桌面应用。另外,他还与人合著过CoreMac OS X and Unix Programming和Advanced Mac OS X Programming(《Mac OSX高级编程权威指南》)。
目录
第1章 启程
1.1 预备知识
1.2 历史
1.3 内容简介
1.4 准备工作
1.5 小结 第2章 对C的扩展
2.1 最简单的Objective-C程序
2.2 解构Hello Objective-C程序
2.2.1 #import语句
2.2.2 框架
2.2.3 NSLog()和@“字符串”
2.3 布尔类型
2.4 小结 第3章 面向对象编程的基础知识
3.1 间接
3.1.1 变量与间接
3.1.2 使用文件名的间接
3.2 在面向对象编程中使用间接
3.2.1 过程式编程
3.2.2 实现面向对象编程
3.3 有关术语
3.4 Objective-C语言中的OOP
3.4.1 @interface部分
3.4.2 @implementation部分
3.4.3 实例化对象
3.4.4 扩展Shapes-Object程序
3.5 小结 第4章 继承
4.1 为何使用继承
4.2 继承的语法格式
4.3 继承的工作机制
4.3.1 方法调度
4.3.2 实例变量
4.4 重写方法
4.5 小结 第5章 复合
5.1 什么是复合
5.2 自定义NSLog()
5.3 存取方法
5.3.1 设置engine属性的存取方法
5.3.2 设置tires属性的存取方法
5.3.3 Car类代码的其他变化
5.4 扩展CarParts程序
5.5 复合还是继承
5.6 小结 第6章 源文件组织
6.1 拆分接口和实现
6.2 拆分Car程序
6.3 使用跨文件依赖关系
6.3.1 重新编译须知
6.3.2 让汽车跑一会儿
6.3.3 导入和继承
6.4 小结 第7章 深入了解Xcode
7.1 窗口布局一览
7.2 改变公司名称
7.3 使用编辑器的技巧
7.4 在Xcode的帮助下编写代码
7.4.1 首行缩进(美观排版)
7.4.2 代码自动完成
7.4.3 括号配对
7.4.4 批量编辑
7.4.5 代码导航
7.4.6 集中精力
7.4.7 使用导航条
7.4.8 获取信息
7.5 调试
7.5.1 暴力测试
7.5.2 Xcode的调试器
7.5.3 精巧的调试符号
7.5.4 开始调试
7.5.5 检查程序
7.6 备忘表
7.7 小结 第8章 Foundation Kit介绍
8.1 稳固的Foundation
8.2 使用项目样本代码
8.3 一些有用的数据类型
8.3.1 范围
8.3.2 几何数据类型
8.4 字符串
8.4.1 创建字符串
8.4.2 类方法
8.4.3 关于大小
8.4.4 字符串比较
8.4.5 不区分大小写的比较
8.4.6 字符串内是否还包含别的字符串
8.4.7 可变性
8.5 集合大家族
8.5.1 NSArray
8.5.2 可变数组
8.5.3 枚举
8.5.4 快速枚举
8.5.5 NSDictionary
8.5.6 请不要乱来
8.6 其他数值
8.6.1 NSNumber
8.6.2 NSValue
8.6.3 NSNull
8.7 示例:查找文件
8.8 小结 第9章 内存管理
9.1 对象生命周期
9.1.1 引用计数
9.1.2 对象所有权
9.1.3 访问方法中的保留和释放
9.1.4 自动释放
9.1.5 所有对象放入池中
9.1.6 自动释放池的销毁时间
9.1.7 自动释放池的工作流程
9.2 Cocoa的内存管理规则
9.2.1 临时对象
9.2.2 拥有对象
9.2.3 垃圾回收
9.2.4 自动引用计数
9.3 异常
9.3.1 与异常有关的关键字
9.3.2 捕捉不同类型的异常
9.3.3 抛出异常
9.3.4 异常也需要内存管理
9.3.5 异常和自动释放池
9.4 小结 第10章 对象初始化
10.1 分配对象
10.1.1 初始化对象
10.1.2 编写初始化方法
10.1.3 初始化时要做些什么
10.2 便利初始化函数
10.3 更多部件改进
10.3.1 Tire类的初始化
10.3.2 更新main()函数
10.3.3 清理Car类
10.4 Car类的内存清理(垃圾回收方式和ARC方式)
10.5 指定初始化函数
10.5.1 子类化问题
10.5.2 Tire类的初始化函数改进后的版本
10.5.3 添加AllWeatherRadial类的初始化函数
10.6 初始化函数规则
10.7 小结 第11章 属性
11.1 使用属性值
11.1.1 简化接口代码
11.1.2 简化实现代码
11.1.3 点表达式的妙用
11.2 属性扩展
11.2.1 名称的使用
11.2.2 只读属性
11.2.3 自己动手有时更好
11.2.4 特性不是万能的
11.3 小结 第12章 类别
12.1 创建类别
12.1.1 开始创建类别
12.1.2 @interface部分
12.1.3 @implementation部分
12.1.4 类别的缺陷
12.1.5 类别的优势
12.1.6 类扩展
12.2 利用类别分散实现代码
12.3 通过类别创建前向引用
12.4 非正式协议和委托类别
12.4.1 ITunesFinder项目
12.4.2 委托和类别
12.4.3 响应选择器
12.4.4 选择器的其他应用
12.5 小结 第13章 协议
13.1 正式协议
13.1.1 声明协议
13.1.2 采用协议
13.1.3 实现协议
13.2 复制
13.2.1 复制Engine
13.2.2 复制Tire
13.2.3 复制Car
13.2.4 协议和数据类型
13.3 Objective-C 2.0的新特性
13.4 委托方法
13.5 小结 第14章 代码块和并发性
14.1 代码块
14.1.1 代码块和函数指针
14.1.2 Objective-C变量
14.2 并发性
14.2.1 同步
14.2.2 队列也要内存管理
14.2.3 操作队列
14.3 小结 第15章 AppKit简介
15.1 构建项目
15.2 创建委托文件的@interface部分
15.3 Interface Builder
15.4 设计用户界面
15.5 创建连接
15.5.1 连接输出口(IBOutlet)
15.5.2 连接操作(IBAction)
15.6 应用程序委托的实现
15.7 小结 第16章 UIKit简介
16.1 视图控制器
16.2 小结 第17章 文件加载与保存
17.1 属性列表
17.1.1 NSDate
17.1.2 NSData
17.1.3 写入和读取属性列表
17.1.4 修改对象类型
17.2 编码对象
17.3 小结 第18章 键/值编码
18.1 入门项目
18.2 KVC简介
18.3 键路径
18.4 整体操作
18.4.1 休息一下
18.4.2 快速运算
18.5 批处理
18.6 nil仍然可用
18.7 处理未定义的键
18.8 小结 第19章 使用静态分析器
19.1 静态工作
19.1.1 开始分析
19.1.2 协助分析器
19.1.3 了解更多
19.2 小结 第20章 NSPredicate
20.1 创建谓词
20.2 计算谓词
20.3 数组过滤器
20.4 格式说明符
20.5 运算符
20.5.1 比较和逻辑运算符
20.5.2 数组运算符
20.6 有SELF就足够了
20.7 字符串运算符
20.8 LIKE运算符
20.9 结语 附录 从其他语言转向Objective-C
索引
1.1 预备知识
1.2 历史
1.3 内容简介
1.4 准备工作
1.5 小结 第2章 对C的扩展
2.1 最简单的Objective-C程序
2.2 解构Hello Objective-C程序
2.2.1 #import语句
2.2.2 框架
2.2.3 NSLog()和@“字符串”
2.3 布尔类型
2.4 小结 第3章 面向对象编程的基础知识
3.1 间接
3.1.1 变量与间接
3.1.2 使用文件名的间接
3.2 在面向对象编程中使用间接
3.2.1 过程式编程
3.2.2 实现面向对象编程
3.3 有关术语
3.4 Objective-C语言中的OOP
3.4.1 @interface部分
3.4.2 @implementation部分
3.4.3 实例化对象
3.4.4 扩展Shapes-Object程序
3.5 小结 第4章 继承
4.1 为何使用继承
4.2 继承的语法格式
4.3 继承的工作机制
4.3.1 方法调度
4.3.2 实例变量
4.4 重写方法
4.5 小结 第5章 复合
5.1 什么是复合
5.2 自定义NSLog()
5.3 存取方法
5.3.1 设置engine属性的存取方法
5.3.2 设置tires属性的存取方法
5.3.3 Car类代码的其他变化
5.4 扩展CarParts程序
5.5 复合还是继承
5.6 小结 第6章 源文件组织
6.1 拆分接口和实现
6.2 拆分Car程序
6.3 使用跨文件依赖关系
6.3.1 重新编译须知
6.3.2 让汽车跑一会儿
6.3.3 导入和继承
6.4 小结 第7章 深入了解Xcode
7.1 窗口布局一览
7.2 改变公司名称
7.3 使用编辑器的技巧
7.4 在Xcode的帮助下编写代码
7.4.1 首行缩进(美观排版)
7.4.2 代码自动完成
7.4.3 括号配对
7.4.4 批量编辑
7.4.5 代码导航
7.4.6 集中精力
7.4.7 使用导航条
7.4.8 获取信息
7.5 调试
7.5.1 暴力测试
7.5.2 Xcode的调试器
7.5.3 精巧的调试符号
7.5.4 开始调试
7.5.5 检查程序
7.6 备忘表
7.7 小结 第8章 Foundation Kit介绍
8.1 稳固的Foundation
8.2 使用项目样本代码
8.3 一些有用的数据类型
8.3.1 范围
8.3.2 几何数据类型
8.4 字符串
8.4.1 创建字符串
8.4.2 类方法
8.4.3 关于大小
8.4.4 字符串比较
8.4.5 不区分大小写的比较
8.4.6 字符串内是否还包含别的字符串
8.4.7 可变性
8.5 集合大家族
8.5.1 NSArray
8.5.2 可变数组
8.5.3 枚举
8.5.4 快速枚举
8.5.5 NSDictionary
8.5.6 请不要乱来
8.6 其他数值
8.6.1 NSNumber
8.6.2 NSValue
8.6.3 NSNull
8.7 示例:查找文件
8.8 小结 第9章 内存管理
9.1 对象生命周期
9.1.1 引用计数
9.1.2 对象所有权
9.1.3 访问方法中的保留和释放
9.1.4 自动释放
9.1.5 所有对象放入池中
9.1.6 自动释放池的销毁时间
9.1.7 自动释放池的工作流程
9.2 Cocoa的内存管理规则
9.2.1 临时对象
9.2.2 拥有对象
9.2.3 垃圾回收
9.2.4 自动引用计数
9.3 异常
9.3.1 与异常有关的关键字
9.3.2 捕捉不同类型的异常
9.3.3 抛出异常
9.3.4 异常也需要内存管理
9.3.5 异常和自动释放池
9.4 小结 第10章 对象初始化
10.1 分配对象
10.1.1 初始化对象
10.1.2 编写初始化方法
10.1.3 初始化时要做些什么
10.2 便利初始化函数
10.3 更多部件改进
10.3.1 Tire类的初始化
10.3.2 更新main()函数
10.3.3 清理Car类
10.4 Car类的内存清理(垃圾回收方式和ARC方式)
10.5 指定初始化函数
10.5.1 子类化问题
10.5.2 Tire类的初始化函数改进后的版本
10.5.3 添加AllWeatherRadial类的初始化函数
10.6 初始化函数规则
10.7 小结 第11章 属性
11.1 使用属性值
11.1.1 简化接口代码
11.1.2 简化实现代码
11.1.3 点表达式的妙用
11.2 属性扩展
11.2.1 名称的使用
11.2.2 只读属性
11.2.3 自己动手有时更好
11.2.4 特性不是万能的
11.3 小结 第12章 类别
12.1 创建类别
12.1.1 开始创建类别
12.1.2 @interface部分
12.1.3 @implementation部分
12.1.4 类别的缺陷
12.1.5 类别的优势
12.1.6 类扩展
12.2 利用类别分散实现代码
12.3 通过类别创建前向引用
12.4 非正式协议和委托类别
12.4.1 ITunesFinder项目
12.4.2 委托和类别
12.4.3 响应选择器
12.4.4 选择器的其他应用
12.5 小结 第13章 协议
13.1 正式协议
13.1.1 声明协议
13.1.2 采用协议
13.1.3 实现协议
13.2 复制
13.2.1 复制Engine
13.2.2 复制Tire
13.2.3 复制Car
13.2.4 协议和数据类型
13.3 Objective-C 2.0的新特性
13.4 委托方法
13.5 小结 第14章 代码块和并发性
14.1 代码块
14.1.1 代码块和函数指针
14.1.2 Objective-C变量
14.2 并发性
14.2.1 同步
14.2.2 队列也要内存管理
14.2.3 操作队列
14.3 小结 第15章 AppKit简介
15.1 构建项目
15.2 创建委托文件的@interface部分
15.3 Interface Builder
15.4 设计用户界面
15.5 创建连接
15.5.1 连接输出口(IBOutlet)
15.5.2 连接操作(IBAction)
15.6 应用程序委托的实现
15.7 小结 第16章 UIKit简介
16.1 视图控制器
16.2 小结 第17章 文件加载与保存
17.1 属性列表
17.1.1 NSDate
17.1.2 NSData
17.1.3 写入和读取属性列表
17.1.4 修改对象类型
17.2 编码对象
17.3 小结 第18章 键/值编码
18.1 入门项目
18.2 KVC简介
18.3 键路径
18.4 整体操作
18.4.1 休息一下
18.4.2 快速运算
18.5 批处理
18.6 nil仍然可用
18.7 处理未定义的键
18.8 小结 第19章 使用静态分析器
19.1 静态工作
19.1.1 开始分析
19.1.2 协助分析器
19.1.3 了解更多
19.2 小结 第20章 NSPredicate
20.1 创建谓词
20.2 计算谓词
20.3 数组过滤器
20.4 格式说明符
20.5 运算符
20.5.1 比较和逻辑运算符
20.5.2 数组运算符
20.6 有SELF就足够了
20.7 字符串运算符
20.8 LIKE运算符
20.9 结语 附录 从其他语言转向Objective-C
索引
猜您喜欢