iOS开发从入门到精通
iOS开发从入门到精通
1 iOS基础 (视频讲解:23分钟)
1.1 iOS发展历史
1.2 iOS特性
1.3 iOS架构
1.3.1 Cocoa Touch层
1.3.2 媒体层
1.3.3 Core Services层
1.3.4 Core OS层
1.4 Objective-C概述
1.5 比较iOS和Mac OS
1.5.1 UIKit与AppKit的对比
1.5.2 Foundation框架的差异
1.5.3 其他框架的改变
1.6 iOS开发环境和工具
1.6.1 了解Xcode
1.6.2 Xcode导航面板
1.6.3 Xcode检查器面板
1.6.4 Xcode库面板
1.6.5 使用帮助
1.7 使用Xcode
1.7.1 案例:编写第一个Objective-C程序
1.7.2 案例:创建第一个项目
1.8 小结
2 数据类型和运算符 (视频讲解:88分钟)
2.1 数据类型分类
2.2 简单数据类型
2.2.1 整型
2.2.2 案例:输出格式字符
2.2.3 浮点型
2.2.4 字符型
2.2.5 案例:定义字符串
2.2.6 枚举型
2.2.7 布尔型
2.3 类型转换
2.3.1 案例:自动类型转换
2.3.2 案例:强制类型转换
2.3.3 案例:自动提升
2.4 运算符
2.4.1 运算符分类
2.4.2 运算优先级
2.4.3 算术运算符
2.4.4 赋值运算符
2.4.5 位运算符
2.4.6 比较运算符
2.4.7 逻辑运算符
2.4.8 逗号运算符
2.4.9 条件运算符
2.5 小结
3 控制语句 (视频讲解:44分钟)
3.1 条件语句
3.1.1 if语句
3.1.2 案例:分支语句应用
3.1.3 switch语句
3.2 循环语句
3.2.1 while语句
3.2.2 do-while语句
3.2.3 for语句
3.2.4 案例:for语句应用
3.2.5 案例:嵌套循环
3.3 控制语句
3.3.1 break语句
3.3.2 continue语句
3.3.3 return语句
3.3.4 案例:使用goto语句
3.4 预处理命令
3.4.1 宏定义
3.4.2 运算符
3.4.3 import语句
3.4.4 条件编译
3.5 小结
4 C语言特性 (视频讲解:122分钟)
4.1 数组
4.1.1 定义数组
4.1.2 初始化数组
4.1.3 使用数组
4.1.4 定义多维数组
4.1.5 初始化多维数组
4.1.6 使用字符数组
4.1.7 案例实战
4.2 函数
4.2.1 定义函数
4.2.2 声明函数
4.2.3 函数类型
4.2.4 函数参数
4.2.5 函数返回值
4.2.6 案例实战
4.3 块
4.3.1 定义块
4.3.2 块作用域
4.3.3 使用块变量类型
4.4 结构
4.4.1 定义结构
4.4.2 使用typedef
4.4.3 初始化结构
4.4.4 使用结构体数组
4.4.5 嵌套结构
4.5 指针
4.5.1 认识指针
4.5.2 定义指针变量
4.5.3 指针的基本运算
4.5.4 指针变量作为函数参数
4.5.5 对象和指针的关系
4.6 数组和指针
4.6.1 指向数组的指针变量
4.6.2 指针运算
4.6.3 案例实战
4.7 案例应用
4.7.1 使用字符串指针
4.7.2 使用函数指针
4.8 小结
5 类 (视频讲解:107分钟)
5.1 定义类
5.1.1 认识类
5.1.2 接口
5.1.3 实现
5.1.4 案例:定义类
5.2 使用类
5.2.1 实例化
5.2.2 指针
5.2.3 self
5.2.4 id类型
5.2.5 类名的使用
5.2.6 类的比较
5.3 变量
5.3.1 局部变量
5.3.2 全局变量
5.3.3 实例变量
5.3.4 静态变量
5.3.5 变量的存储类别
5.3.6 案例:定义单例类
5.3.7 案例:定义类变量
5.4 属性
5.4.1 属性的声明
5.4.2 属性的实现
5.4.3 属性类型和相关函数
5.4.4 属性类型编码
5.4.5 属性重声明
5.4.6 子类中的属性
5.4.7 案例:使用封装
5.4.8 案例:使用访问控制符
5.4.9 案例:合成存取
5.4.10 案例:点语法存取
5.5 方法
5.5.1 定义方法
5.5.2 方法的所属性
5.5.3 案例:设计可变形参的方法
5.6 继承
5.6.1 继承实例变量
5.6.2 方法的继承
5.6.3 方法的重写
5.6.4 类别和扩展
5.6.5 案例:类继承
5.6.6 案例:重写
5.6.7 案例:使用super关键字
5.7 异常处理
5.7.1 启用异常处理
5.7.2 异常处理
5.7.3 捕捉不同类型的异常
5.7.4 抛出异常
5.8 类型
5.8.1 静态指定类型
5.8.2 类型的自查
5.9 根类
5.9.1 NSObject简介
5.9.2 根类和协议
5.9.3 根类方法
5.9.4 根类接口规范
5.9.5 根类实例方法和类方法
5.10 小结
6 消息和协议
6.1 消息
6.1.1 定义消息
6.1.2 发送消息
6.1.3 接收实例变量
6.1.4 获取方法地址
6.1.5 objc_msgSend()函数
6.1.6 使用隐藏的参数
6.1.7 消息转发
6.1.8 消息转发与多重继承
6.1.9 消息代理对象
6.1.10 消息转发与类继承
6.1.11 多态性
6.1.12 动态绑定
6.1.13 解析动态方法
6.1.14 动态加载
6.1.15 “.”语法格式
6.2 协议
6.2.1 预定义声明接口
6.2.2 预定义方法
6.2.3 声明接口
6.2.4 非层级相似性
6.2.5 正式协议
6.2.6 非正式协议
6.2.7 协议对象
6.2.8 采用协议
6.2.9 服从协议
6.2.10 类型校验
6.2.11 嵌套协议
6.2.12 引用其他协议
6.3 小结
7 对象
7.1 创建对象
7.1.1 分配对象
7.1.2 初始化对象
7.1.3 dealloc方法
7.1.4 类工厂方法
7.2 对象动态类型
7.3 对象可变性
7.3.1 可变或不可变对象
7.3.2 用可变对象编程
7.4 对象通信
7.4.1 面向对象程序中的通信
7.4.2 IBoutlet变量
7.4.3 委托和数据源
7.4.4 目标-动作机制
7.4.5 绑定
7.4.6 通告
7.5 使用对象
7.5.1 对象所有权策略
7.5.2 保留计数
7.5.3 自动释放
7.5.4 共享对象的有效性
7.5.5 存取方法
7.5.6 回收对象
7.5.7 通过引用返回的对象
7.6 小结
8 Foundation框架基础 (视频讲解:133分钟)
8.1 认识Foundation框架
8.2 使用Foundation框架
8.3 数字类型
8.3.1 数字类型类NSNumber
8.3.2 比较int、NSInteger、NSUInteger和NSNumber
8.4 字符串类型
8.4.1 不可变字符串类NSString
8.4.2 可变字符串类NSMutableString
8.4.3 案例实战
8.5 日期类型
8.5.1 日期类型类NSDate
8.5.2 NSCalendar和NSDateComponents
8.5.3 案例实战
8.6 数组类型
8.6.1 不可变数组类NSArray
8.6.2 可变数组类NSMutableArray
8.6.3 多维数组
8.6.4 案例:操作数组
8.6.5 案例:操作元素
8.6.6 案例:数组排序
8.6.7 案例:遍历数组
8.6.8 案例:快速枚举
8.6.9 案例:可变数组
8.7 字典类型
8.7.1 不可变字典类NSDictionary
8.7.2 可变字典类NSMutableDictionary
8.7.3 案例:使用字典
8.7.4 案例:字典排序
8.7.5 案例:字典过滤
8.7.6 案例:使用可变字典
8.8 案例实战:集合类型
8.8.1 使用NSSet
8.8.2 检测NSSet重复值
8.8.3 可变集合
8.8.4 计数集合
8.8.5 有序集合
8.9 小结
9 iOS应用开发核心
9.1 iOS应用架构
9.1.1 生命周期
9.1.2 主函数
9.1.3 应用委托
9.1.4 nib文件
9.1.5 事件处理周期
9.1.6 基本设置模式
9.2 运行环境处理机制
9.2.1 快速启动
9.2.2 安全处理
9.2.3 内存处理
9.2.4 节电处理
9.3 程序包
9.3.1 信息属性
9.3.2 程序图标和启动图像
9.4 定制行为
9.4.1 景观模式启动
9.4.2 与其他程序通信
9.4.3 URL模式
9.4.4 处理URL请求
9.4.5 偏好设置
9.4.6 关闭锁定
9.5 键盘管理
9.5.1 接收键盘通告
9.5.2 显示键盘
9.5.3 取消键盘
9.5.4 移动键盘
9.6 国际化
9.7 优化处理
9.7.1 不要阻塞主线程
9.7.2 有效使用内存
9.7.3 减少内存印迹
9.7.4 恰当分配内存
9.7.5 浮点运算
9.7.6 减少电力消耗
9.7.7 代码优化
9.8 小结
10 iOS开发入门 (视频讲解:63分钟)
10.1 熟悉iOS项目
10.1.1 文件结构
10.1.2 新建xib界面文件
10.1.3 认识xib界面
10.1.4 添加控件
10.1.5 编辑控件属性
10.1.6 UIView属性
10.1.7 UILabel属性
10.2 iOS运行机制
10.2.1 了解MVC
10.2.2 入口函数
10.2.3 应用程序委托
10.2.4 视图控制器
10.3 事件处理机制
10.3.1 获取控件
10.3.2 事件处理
10.4 故事板
10.5 案例实战
10.5.1 动态更新文本
10.5.2 添加和删除控件
10.5.3 设计跟随手指的小球
10.5.4 设计应用项目图标
10.5.5 设计欢迎界面
10.6 小结
11 窗口和视图
11.1 认识窗口和视图
11.1.1 窗口
11.1.2 视图
11.1.3 视图控制器
11.2 视图架构
11.2.1 视图交互模型
11.2.2 视图渲染架构
11.2.3 CoreAnimation
11.2.4 视图的层
11.2.5 动画支持
11.2.6 视图坐标系统
11.2.7 边框、边界和中心
11.2.8 坐标系统变换
11.2.9 内容模式与比例缩放
11.2.10 自动尺寸调整
11.3 创建和管理视图层次
11.3.1 视图层次
11.3.2 创建视图对象
11.3.3 添加和移除子视图
11.3.4 坐标转换
11.3.5 标识视图
11.4 动态控制视图
11.4.1 实现视图动画
11.4.2 配置动画的参数
11.4.3 配置动画的委托
11.4.4 响应布局的变化
11.4.5 重画视图的内容
11.4.6 隐藏视图
11.5 创建定制视图
11.5.1 初始化定制视图
11.5.2 描画视图内容
11.5.3 响应事件
11.5.4 清理视图对象
11.6 小结
12 视图控制器 (视频讲解:43分钟)
12.1 视图控制器基础
12.1.1 视图控制器的功能
12.1.2 屏幕、窗口和视图元素
12.1.3 视图管理机制
12.1.4 视图控制器分类
12.1.5 内容展示方式
12.1.6 视图控制器混合应用
12.2 视图控制器生命周期
12.2.1 初始化视图
12.2.2 加载和卸载视图
12.3 标准视图控制器
12.3.1 标准视图控制器概述
12.3.2 使用标准视图控制器
12.4 分割视图控制器
12.4.1 分割视图控制器概述
12.4.2 使用分割视图控制器
12.5 导航控制器
12.5.1 导航控制器概述
12.5.2 使用导航控制器
12.6 选项卡控制器
12.6.1 选项卡控制器概述
12.6.2 使用选项卡控制器
12.7 页视图控制器
12.7.1 页视图控制器概述
12.7.2 使用页视图控制器
12.8 小结
13 事件
13.1 触摸事件
13.1.1 触摸模型
13.1.2 触摸与事件
13.1.3 事件传递
13.1.4 事件响应过程
13.1.5 事件处理方法
13.1.6 案例:处理多点触摸事件
13.1.7 案例:检测碰擦手势
13.1.8 案例:处理复杂多点触摸序列
13.2 运动事件
13.3 复制、剪切和粘贴
13.3.1 认识粘贴板
13.3.2 数据表示
13.3.3 选择菜单
13.3.4 复制和剪切
13.3.5 粘贴
13.3.6 消除菜单
13.4 小结
14 使用控件(上) (视频讲解:117分钟)
14.1 UIKit概述
14.1.1 视图分类
14.1.2 应用界面构成
14.1.3 UIView视图
14.1.4 UIControl控件
14.2 按钮
14.2.1 添加按钮
14.2.2 案例:定义按钮
14.2.3 案例:配合使用标签和按钮
14.3 文本框
14.3.1 添加文本框
14.3.2 案例:设计登录表单
14.3.3 案例:关闭虚拟键盘
14.4 多行文本
14.4.1 添加多行文本框
14.4.2 案例:设计内容简介表单
14.4.3 案例:设计导航按钮控制虚拟键盘
14.4.4 案例:自定义虚拟键盘键
14.4.5 案例:自定义快捷编辑菜单
14.5 开关按钮
14.5.1 添加开关按钮
14.5.2 案例:使用开关按钮控制界面背景
14.6 分段控件
14.6.1 添加分段控件
14.6.2 案例:使用分段控件控制界面背景
14.6.3 案例:动态控制分段控件
14.7 滑块控件
14.7.1 添加滑块控件
14.7.2 案例:设计控件
14.7.3 案例:使用滑块控制透明度
14.8 图像控件
14.8.1 添加图像控件
14.8.2 案例:预览图片
14.8.3 案例:设计幻灯片
14.9 进度条
14.9.1 添加进度条
14.9.2 案例:设计进度条
14.10 活动指示器
14.10.1 添加活动指示器
14.10.2 案例:设计活动指示器和进度条
14.11 警告框
14.11.1 创建警告框
14.11.2 案例:设计警告框
14.12 操作表
14.13 日期选择器
14.13.1 添加日期选择器
14.13.2 案例:设计倒计时
14.14 通用选择器
14.14.1 添加通用选择器
14.14.2 案例:设计单列选择器
14.14.3 案例:自定义选择器视图
14.15 微调器
14.15.1 添加微调器
14.15.2 案例:设计微调器
14.16 网页控件
14.16.1 添加网页控件
14.16.2 案例:设计网页控件
14.17 小结
15 使用控件(下) (视频讲解:117分钟)
15.1 工具条
15.1.1 添加工具条
15.1.2 案例:设计工具条
15.2 搜索条
15.2.1 添加搜索条
15.2.2 案例:设计搜索条
15.2.3 案例:设计显示列表
15.3 导航条
15.3.1 使用导航条
15.3.2 案例:使用UINavigationController
15.4 表格控制器
15.4.1 表视图概述
15.4.2 添加表格
15.4.3 自定义单元格
15.4.4 案例:设计表格
15.4.5 案例:编辑单元格
15.4.6 案例:编辑表格
15.4.7 案例:表格分区
15.5 标签页
15.5.1 使用UITabBar
15.5.2 案例:设计标签页1
15.5.3 案例:设计标签页2
15.6 页控件
15.6.1 分页控件
15.6.2 案例:使用UIPageControl
15.6.3 案例:使用UIPageViewController
15.7 小结
16 移动绘图 (视频讲解:35分钟)
16.1 基本概念
16.1.1 绘制周期
16.1.2 坐标系统
16.1.3 图形上下文
16.1.4 点和像素
16.1.5 颜色空间
16.1.6 图像格式
16.1.7 定制绘制
16.1.8 绘制性能
16.1.9 图像质量
16.2 Quartz 2D
16.2.1 页面
16.2.2 图形上下文
16.2.3 路径
16.2.4 颜色空间
16.2.5 变换
16.2.6 阴影
16.2.7 梯度
16.2.8 透明层
16.2.9 使用PDF文档
16.3 案例实战
16.3.1 案例:绘制图形
16.3.2 案例:绘制线条
16.3.3 案例:绘制文本
16.3.4 案例:绘制路径
16.3.5 案例:绘制曲线
16.3.6 案例:设计画板
16.4 小结
17 动画设计 (视频讲解:14分钟)
17.1 OpenGL ES
17.1.1 OpenGL ES概述
17.1.2 配置上下文
17.1.3 OpenGL ES绘制
17.2 OpenGL ES应用
17.2.1 项目的创建及设置
17.2.2 上下文的创建
17.2.3 渲染缓存的创建
17.2.4 帧缓存的创建
17.2.5 屏幕的清理
17.2.6 OpenGLView和应用程序委托关联
17.3 Core Animation
17.3.1 层和变换
17.3.2 树层结构
17.3.3 层上下文和层行为
17.3.4 动画
17.3.5 事务
17.3.6 动画层布局
17.4 案例实战
17.4.1 案例:设计过渡动画
17.4.2 案例:设计属性动画
17.4.3 案例:设计路径动画
17.5 小结
18 多媒体开发 (视频讲解:26分钟)
18.1 使用声音
18.1.1 音频编解码
18.1.2 音频回放和录制格式
18.1.3 音频会话
18.1.4 播放音频
18.1.5 通过iPod媒体库访问接口播放媒体项
18.1.6 使用系统声音服务播放短声音及触发震动
18.1.7 通过AVAudioPlayer类轻松播放声音
18.1.8 用音频队列服务播放和控制声音
18.1.9 创建一个音频队列对象
18.1.10 控制回放音量
18.1.11 指示回放音量
18.1.12 同时播放多路声音
18.1.13 使用OpenAL播放和定位声音
18.1.14 录制音频
18.1.15 解析音频流
18.1.16 iOS系统上的音频单元支持
18.1.17 iPhone音频的最佳实践
18.2 使用视频
18.2.1 录制视频
18.2.2 播放视频文件
18.3 案例实战
18.3.1 案例:播放音效
18.3.2 案例:播放音乐
18.3.3 案例:播放视频
18.3.4 案例:录制音频
18.3.5 案例:录制视频
18.4 小结
19 设备管理 (视频讲解:28分钟)
19.1 硬件检测
19.2 配件通信
19.2.1 配件基础
19.2.2 声明协议
19.2.3 连接配件
19.2.4 监控配件
19.3 使用加速计
19.3.1 选择更新频率
19.3.2 分离重力数据
19.3.3 分离实时运动数据
19.3.4 获取设备方向
19.4 使用位置和方向
19.4.1 获取当前位置
19.4.2 获取方向事件
19.5 使用地图
19.5.1 添加地图视图
19.5.2 缩放和移动地图
19.5.3 显示用户当前位置
19.5.4 坐标和像素切换
19.5.5 显示注解
19.5.6 添加和移除注解对象
19.5.7 定义注解视图
19.5.8 创建注解视图
19.5.9 处理注解视图中的事件
19.5.10 获取地标信息
19.6 使用照相机
19.7 使用照片库
19.8 使用邮件
19.9 案例实战
19.9.1 案例:管理通信设备
19.9.2 案例:获取加速度、陀螺仪、磁场数据
19.9.3 案例:获取移动数据
19.9.4 案例:获取位置信息
19.9.5 案例:地图定位
19.10 小结
20 文件和数据操作 (视频讲解:24分钟)
20.1 文件操作
20.1.1 iPhone常用目录
20.1.2 获取程序目录路径
20.1.3 文件更新
20.1.4 文件备份和恢复
20.2 数据读写
20.2.1 文件数据的读写
20.2.2 属性列表数据的读写
20.2.3 用归档器对数据进行读写
20.2.4 将数据写到Documents目录
20.2.5 从Documents目录对数据进行读取
20.2.6 保存状态信息
20.3 SQLite
20.3.1 数据类型
20.3.2 常用函数及返回编码
20.3.3 操作数据库
20.3.4 创建表
20.3.5 操作数据语句
20.3.6 数据查询
20.4 案例实战
20.4.1 案例:使用属性列表设计备忘录
20.4.2 案例:使用SQLite设计单词本
20.5 小结
21 综合案例:抢扑克 (视频讲解:8分钟)
21.1 设计提示框交互项目
21.1.1 使用UIAlertView
21.1.2 保存时间值
21.1.3 添加图像文件
21.2 设计时间差视图控制器
21.2.1 建立NSData、UIImageView对象和IBAction方法
21.2.2 定义UIAlertView和游戏控件属性
21.3 构建扑克游戏控件
21.3.1 添加扑克游戏控件
21.3.2 设置游戏背景视图检查器
21.3.3 设置游戏扑克图像检查器
21.3.4 设置游戏透明按钮检查器
21.4 小结
22 综合案例:电子琴
22.1 创建音频工具项目
22.1.1 设置屏幕横向显示
22.1.2 添加背景图像和声音文件
22.1.3 添加音频工具框架
22.1.4 Audio Toolbox框架的作用
22.2 定义电子琴的交互方法
22.2.1 建立音频文件播放方法和播放动态
22.2.2 定义琴键属性值
22.3 构建电子琴界面
22.3.1 设置电子琴视图背景
22.3.2 添加控件
22.3.3 设置电子琴背景图检查器
22.3.4 设置电子琴键的检查器
22.4 小结
23 综合案例:吃豆人 (视频讲解:7分钟)
23.1 创建Utility Application图像移动按钮项目
23.1.1 添加移动图像和声音文件
23.1.2 添加支持动画和声音文件的框架
23.2 移动图像操作的视图控制器
23.2.1 建立UIImageView、按钮方向操作和音频播放方法
23.2.2 定义图像属性值和方向操作交互
23.3 在Interface Builder中构建吃豆人主页
23.3.1 构建吃豆人图像和背景图像
23.3.2 构建吃豆人移动按钮
23.4 在Interface Builder中构建吃豆人简介副页
23.5 小结
24 综合案例:打砖块 (视频讲解:19分钟)
24.1 创建Utility Application项目
24.1.1 添加打砖块的图像和声音文件
24.1.2 添加框架文件
24.1.3 添加UIImageView控制器
24.1.4 自定义UIImageView视图检查器
24.2 打砖块的MainViewController交互方法
24.2.1 建立游戏分数控件、操作交互和音频播放方法
24.2.2 定义游戏的操作和属性值
24.3 在Interface Builder内构建BoardView
24.3.1 添加NSObject
24.3.2 设置NSObject身份
24.4 在Interface Builder中构建打砖块游戏主页
24.5 在Interface Builder中构建打砖块简介副页
24.6 小结
附录CD
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5a8ccde4b03627650acf4c.png)
思维导图在线编辑链接: