第1章 配置开发环境
1.1 mac应用程序开发环境
1.2 iphone应用程序的开发环境
1.3 查看安装目录中的内容
1.3.1 启动xcode
1.3.2 启动interface builder
1.4 mac中的基本操作
1.4.1 弹出菜单的显示方法
1.4.2 工具条的定制
第2章 开发工具
2.1 xcode
2.1.1 综合开发环境xcode的功能
2.1.2 工程窗口
2.1.3 文本编辑器的功能
2.1.4 开发者手册
2.2 interface builder
2.3 dashcode
2.4 iphone模拟器
2.5 其他工具
2.5.1 filemerge
2.5.2 icon composer
2.5.3 property list editor
2.6 mac或iphone应用程序开发的流程
2.6.1 准备应用程序用的材料
2.6.2 建立步骤
2.6.3 gcc
第3章 应用程序与框架
3.1 关于应用程序
3.1.1 应用程序的种类
3.1.2 关于iphone应用程序
3.2 框架
3.2.1 简单的“hello world”程序
3.2.2 框架的出现
3.2.3 编程语言与框架的关系
3.3 mac os x以及iphone sdk中的框架.31
3.3.1 框架的安装目录
3.3.2 cocoa与carbon
3.3.3 应用程序中使用的框架
3.4 cocoa与carbon的发展轨迹
3.4.1 cocoa是面向对象型的框架,所以挺难掌握
3.4.2 carbon是用c开发的,懂语言的人应该用carbon
3.4.3 carbon将来会消失
3.4.4 carbon应用程序使用cocoa进行改写后速度会提高
3.4.5 如果使用windows版的cocoa进行开发,在windows上也能运行cocoa应用程序
第4章 cocoa与objective-c
4.1 框架的使用
4.1.1 关于api
4.1.2 api与编程语言的关系
4.2 objective-c的发展史
4.3 用于其他语言中的cocoa api
4.3.1 通过桥调用cocoa
4.3.2 是否应提倡在objective-c以外的语言中调用cocoa api的开发方式
4.4 解答与objective-c相关的几个疑问43
4.4.1 是否需要先掌握c语言,以及smalltalk呢
4.4.2 objective-c这样冷门的语言不好学吧
4.4.3 objective-c也能广泛运用在windows或linux平台上吗
4.4.4 objective-c将来会消失吗
第5章 cocoa面向对象编程的基本概念
5.1 面向对象的5个基本术语
5.1.1 类
5.1.2 实例
5.1.3 实例变量
5.1.4 方法
5.1.5 继承
5.1.6 相互关系
5.1.7 对象
5.2 在cocoa实例中理解基本术语
5.2.1 通过按钮配置理解基本术语
5.2.2 文本输入框的继承关系
第6章 hello world应用程序
6.1 关于cocoa版的hello world程序
6.2 启动xcode创建工程
6.3 创建类
6.3.1 创建类文件
6.3.2 追加代码
6.4 启动interface builder设计用户界面
6.4.1 xib文件
6.4.2 interface builder窗口.59
6.4.3 设计hello world的用户界面
6.5 类的实例化
6.6 连接插座与动作
6.7 完成appcontroller的代码编写
6.8 建立与运行
6.9 开发步骤再回顾
第7章 mvc构架
7.1 hello world应用程序开发流程中包含的信息
7.2 什么是mvc构架
7.2.1 视图层
7.2.2 模型层
7.2.3 控制层
7.3 使用mvc构架的实例
7.3.1 itunes的模型
7.3.2 itunes的视图
7.3.3 itunes的控制
7.4 使用mvc构架的cocoa应用程序开发特点
7.4.1 视图组件由cocoa提供
7.4.2 保持视图与模型间的相互独立
7.4.3 应用程序特有的功能由控制提供
7.4.4 只用创建模型以及控制的类
第8章 插座与动作
8.1 视图与控制间的信息交换
8.2 插座与动作
8.2.1 什么是插座
8.2.2 什么是动作
8.3 插座以及动作的连接
8.3.1 插座与动作的追加
8.3.2 插座的连接
8.3.3 动作的连接
8.3.4 连接确认
第9章 c语言语法基础
9.1 c语言概论
9.1.1 c语言的发展过程
9.1.2 c语言的特点
9.1.3 c源程序的结构特点
9.1.4 c源程序的构成规则
9.1.5 c语言的字符集
9.1.6 c语言词汇
9.2 数据类型
9.2.1 基本数据类型
9.2.2 基本运算符和表达式
9.2.3 关系运算符和表达式
9.2.4 逻辑运算符和表达式
9.3 数组
9.3.1 一维数组
9.3.2 二维数组
9.3.3 字符数组
9.4 指针
9.4.1 指针的基本概念
9.4.2 指针变量的类型声明
9.4.3 指针变量的赋值
9.4.4 使用字符串指针变量与字符数组的区别
9.5 c语言的输出语句printf()函数
9.5.1 printf()函数调用的一般形式
9.5.2 格式字符串
9.5.3 输出的实例
9.6 控制语句
9.6.1 if语句
9.6.2 switch语句
9.6.3 while语句
9.6.4 do…while语句
9.6.5 for语句
9.7 函数
9.7.1 函数的语法
9.7.2 函数的声明与实体
9.7.3 可变参数
9.7.4 标准函数库
9.8 结构
9.8.1 结构的定义
9.8.2 结构类型变量的声明
9.8.3 结构变量的取值与赋值
9.9 在xcode中创建学习c语言用的工程
第10章 objective-c的语法
10.1 objective-c的编程概论
10.1.1 objective-c与c语言
10.1.2 objective-c程序
10.1.3 类的声明与实体
10.1.4 创建objective-c的测试工程
10.2 类的声明
10.2.1 导入声明文件
10.2.2 类的声明
10.2.3 实例变量的声明
10.2.4 实例方法的声明
10.3 编写类的实体
10.3.1 编写类的实体
10.3.2 编写方法代码
10.3.3 关于方法的声明
10.4 对象专用变量类型
10.4.1 实例对象专用的变量类型
10.4.2 id类型
10.4.3 nil类型
10.4.4 在条件表达式中使用对象变量
10.5 方法调用
10.5.1 实例方法的调用
10.5.2 类方法的调用
10.5.3 对象为nil的情况下
10.6 命名规则
10.6.1 类的命名规则
10.6.2 实例变量的命名规则
10.6.3 方法的命名规则
10.7 重新解析cocoa的hello world程序
10.7.1 appcontroller.h
10.7.2 appcontroller.m
第11章 内存管理
11.1 内存分配与释放
11.2 与内存相关的问题
11.2.1 内存释放的时机
11.2.2 内存泄漏
11.3 使用垃圾收集进行内存管理
11.3.1 垃圾回收
11.3.2 objective-c与垃圾回收
11.3.3 垃圾回收功能有效化
11.3.4 垃圾回收编程的规则
11.4 由参照统计实现的内存管理
11.4.1 参照统计的基本概念
11.4.2 retain和release方法
11.4.3 对象保持到释放的流程
11.5 类的实例化
11.5.1 类的实例化与初始化
11.5.2 自动释放
11.5.3 创建实例的方法
11.5.4 实例的释放
11.6 内存管理的规则
11.6.1 临时对象
11.6.2 内存管理经验总结
第12章 字符串
12.1 字符串专用类
12.2 nsstring与nsmutablestring
12.3 字符编码
12.3.1 什么是字符编码
12.3.2 nsstring的字符代码为unicode
12.3.3 nsstringencoding
12.4 字符串的生成
12.4.1 使用@""的形式创建新字符串
12.4.2 创建中文字符串
12.4.3 使用格式创建字符串
12.5 nsrange
12.6 字符串处理
12.6.1 计算字符串的长度
12.6.2 字符串的连接、插入和删除
12.6.3 字符串的比较
12.6.4 字符串的检索
12.6.5 抽取部分字符串
12.7 读/写文本文件
12.7.1 读取文本文件
12.7.2 输出文本文件
第13章 集合
13.1 数组
13.1.1 nsarray与 nsmutablearray
13.1.2 数组的创建
13.1.3 数组的长度
13.1.4 通过索引取得对象
13.1.5 使用nsenumerator取得对象
13.1.6 使用高速枚举法取得对象
13.1.7 对象的追加与删除
13.2 字典
13.2.1 什么是字典类型
13.2.2 nsdictionary与 nsmutabledictionary
13.2.3 nsdictionary的创建
13.2.4 键与值的取得
13.2.5 键与值的追加
13.3 包装类
13.3.1 什么是包装类
13.3.2 nsnumber
13.4 对象的等价与同值
13.4.1 拥有相同值的对象
13.4.2 等价与同值的判定
13.4.3 在集合类中的应用
13.5 集合类与参照统计
13.5.1 nsarray与参照统计
13.5.2 nsdictionary与参照统计
第14章 xml应用
14.1 xml概要
14.1.1 什么是xml
14.1.2 一种常用的xml实例——rss
14.2 xml的解析
14.2.1 解析及解析器
14.2.2 xml解析器的种类
14.2.3 树结构
14.3 cocoa中的xml解析器
14.3.1 nsxmldocument,nsxmlnode和nsxmlelement
14.3.2 xml文档的解析器
14.3.3 xpath
14.3.4 节点信息
14.3.5 节点的父子关系
14.3.6 属性值的取得
第15章 表格视图
15.1 表格视图
15.1.1 nstableview与nstablecolumn
15.1.2 表格的构造
15.2 数据资源
15.2.1 在表格中使用数据资源
15.2.2 数据资源的方法
15.2.3 nstableview的方法
15.3 实例
15.3.1 数据资源的设置
15.3.2 numberofrowsintableview:
15.3.3 tableview:objectvaluefortablecolumn:row:
15.3.4 单击read按钮的处理代码
第16章 uikit框架简介及如何创建iphone表格视图
16.1 uikit概要
16.1.1 uikit框架的类一览表
16.1.2 uikit框架与appkit框架的区别
16.2 创建测试uikit类的试验工程
16.2.1 创建第一个iphone应用程序——hello world工程
16.2.2 修改hello world工程使之成为不使用xib文件的实验工程
16.3 创建最简单的表格
16.3.1 创建表
16.3.2 追加选择单元时运行的动作
16.4 iphone表格视图的相关类参考
16.4.1 uitableview类
16.4.2 uitableviewcell类
16.4.3 uitableviewcontroller类
16.4.4 uitableviewdatasource协议类
16.4.5 uitableviewdelegate协议类
第17章 常见的错误与警告
17.1 什么是错误与警告
17.2 xcode中的错误与警告
17.2.1 错误与警告的显示方式
17.2.2 建立结果窗口
17.2.3 代码窗口中的显示
17.3 经常会出现的错误信息
17.3.1 ‘xxx’undeclared (first use in this function).290
17.3.2 parse error before ‘xxx’token
17.3.3 invalid preprocessing directive #xxx
17.3.4 no such file or directory
17.3.5 undefined symbols
17.4 经常会出现的警告信息
17.4.1 ‘xxx’may not respond to ‘yyy’
17.4.2 unused variable ‘xxx’
17.4.3 local declaration of ‘xxx’hides instance variable
17.4.4 incomplete implementation of class ‘xxx’
17.4.5 control reaches end of non-void function
17.4.6 passing argument n of ‘xxx’ assignment from
distinct objective-c type
第18章 调试方法
18.1 缺陷与调试
18.1.1 什么是缺陷与调试
18.1.2 描述缺陷
18.1.3 缺陷的重现
18.2 nslog
18.2.1 使用nslog输出调试信息
18.2.2 nslog的格式
18.3 调试工具
18.3.1 什么是调试工具
18.3.2 调试构建配置
18.3.3 断点与调试模式的启动
18.3.4 调试界面
18.3.5 调试的分步执行
18.4 例外
18.4.1 什么是例外
18.4.2 捕捉例外
18.4.3 发生例外时停止运行
18.4.4 避免使用太多的例外
第19章 应用程序的后期制作
19.1 应用程序图标
19.1.1 制作图标的图片
19.1.2 图标格式文件的制作
19.1.3 向工程中追加图片文件
19.2 应用程序的设置
19.2.1 什么是目标
19.2.2 与目标相关的应用程序设置
19.2.3 info.plist
19.3 本地化
19.3.1 什么是本地化
19.3.2 用户界面的本地化
19.3.3 应用程序名称的本地化
19.3.4 本地化的测试
19.4 构建配置
19.4.1 什么是构建配置
19.4.2 将构建配置设为release
19.5 完成的应用程序
附录a 加入iphone developer program
索引