Amazon超级畅销书,好评如潮,全面解读Objective-C语言及Cocoa特性,用最通俗的语言阐释深奥的知识。
Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。
本书结合理论知识与示例程序,全面而系统地讲述Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性和Cocoa工具包的功能及其中的框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。
本书适合各类开发人员阅读。
Objective-C是创建Mac OS应用和iPhone应用的主要语言,优雅的面向对象编程环境与C语言特性珠联璧合,造就了它的不俗表现。
本书全面而系统地讲述Objective-C语言的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等众多重要的面向对象编程技术。书中还阐述了如何利用Cocoa进行数据的保存、检索和操作等。
通过阅读本书,再结合《iPhone开发基础教程》和《iPhone开发秘籍》,定能在iPhone开发进程中所向披靡!
第1章 启程
1.1 预备知识
1.2 历史背景
1.3 内容简介
1.4 小结
第2章 对C的扩展
2.1 最简单的Objective-C程序
2.2 解构Hello Objective-C程序
2.2.1 #import
2.2.2 NSLog()和@“字符串”
2.3 布尔类型
2.3.1 BOOL强大的实用功能
2.3.2 比较
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.1.1 Car程序
5.1.2 自定义NSLog()
5.2 存取方法
5.2.1 设置发动机的属性
5.2.2 设置轮胎的属性
5.2.3 跟踪汽车的变化
5.3 扩展CarParts程序
5.4 复合还是继承
5.5 小结
第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 在Xcode的帮助下编写代码
7.3.1 首行缩进
7.3.2 代码自动完成
7.3.3 括号匹配
7.3.4 批量编辑
7.3.5 代码导航
7.3.6 emacs不是Mac程序
7.3.7 任意搜索
7.3.8 芝麻开门
7.3.9 书签
7.3.10 集中注意力
7.3.11 开启导航条
7.4 获取信息
7.4.1 研究助手
7.4.2 文档管理程序
7.5 调试
7.5.1 暴力调试
7.5.2 Xcode的调试器
7.5.3 精巧的调试符号
7.5.4 开始调试
7.5.5 检查程序
7.5 备忘表
7.6 小结
第8章 Foundation Kit快速教程
8.1 一些有用的数据类型
8.1.1 范围的作用
8.1.2 几何数据类型
8.2 字符串
8.2.1 创建字符串
8.2.2 类方法
8.2.3 关于大小
8.2.4 比较的策略
8.2.5 不区分大小写的比较
8.2.6 字符串内是否还包含别的字符串
8.3 可变性
8.4 集合家族
8.4.1 NSArray
8.4.2 可变数组
8.4.3 枚举“王国”
8.4.4 快速枚举
8.4.5 NSDictionary
8.4.6 使用,但不要扩展
8.5 各种数值
8.5.1 NSNumber
8.5.2 NSValue
8.5.3 NSNull
8.6 示例:查找文件
8.7 小结
第9章 内存管理
9.1 对象生命周期
9.1.1 引用计数
9.1.2 对象所有权
9.1.3 访问方法中的保留和释放
9.2 自动释放
9.2.1 所有对象全部入池
9.2.2 自动释放池的销毁时间
9.2.3 自动释放池的工作过程
9.3 Cocoa内存管理规则
9.3.1 临时对象
9.3.2 拥有对象
9.3.3 垃圾回收
9.4 小结
第10章 对象初始化
10.1 分配对象
10.2 初始化对象
10.2.1 编写初始化方法
10.2.2 初始化时做什么
10.3 便利初始化函数
10.4 更多部件改进
10.4.1 Tire类的初始化
10.4.2 更新main()函数
10.4.3 清理Car类
10.5 支持垃圾回收风格的Car类清理
10.6 指定初始化函数
10.6.1 子类化问题
10.6.2 改进Tire类的初始化函数
10.6.3 添加AllWeatherRadial类的初始化函数
10.7 初始化函数规则
10.8 小结
第11章 特性
11.1 修改特性值
11.1.1 简化接口
11.1.2 简化实现
11.1.3 点表达式的妙用
11.2 特性扩展
11.2.1 名称的使用
11.2.2 只读特性
11.2.3 特性不是万能的
11.3 小结
第12章 类别
12.1 创建类别
12.1.1 声明类别
12.1.2 实现类别
12.1.3 类别的局限性
12.1.4 类别的作用
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 小结
第14章 AppKit简介
14.1 构建项目
14.2 构建AppController @interface
14.3 Interface Builder
14.4 布局用户界面
14.5 连接
14.5.1 连接输出口
14.5.2 连接操作
14.6 AppController实现
14.7 小结
第15章 文件加载与保存
15.1 属性列表
15.1.1 NSDate
15.1.2 NSData
15.1.3 写入和读取属性列表
15.2 编码对象
15.3 小结
第16章 键/值编码
16.1 入门项目
16.2 KVC简介
16.3 路径
16.4 整体操作
16.4.1 中途小憩
16.4.2 流畅地运算
16.5 批处理
16.6 nil仍然可用
16.7 处理未定义的键
16.8 小结
第17章 NSPredicate
17.1 创建谓词
17.2 燃料过滤器
17.3 格式说明符
17.4 运算符
17.4.1 比较和逻辑运算符
17.4.2 数组运算符
17.5 SELF足够了
17.6 字符串运算符
17.7 LIKE运算符
17.8 小结
附录 从其他语言转向Objective-C