iOS6应用开发实战
iOS6应用开发实战
为什么要写这本书
本书特色
读者对象
勘误和支持
1 开发前的准备
1.1 iOS的历史
1.2 iOS 5和iOS 6的新特性
1.2.1 iCloud云服务
1.2.2 LLVM 3.0编译器
1.2.3 自动引用计数器
1.2.4 故事板
1.2.5 整合Twitter框架[1]
1.2.6 iOS 5的其他特性
1.2.7 iOS 6的新特性
1.3 iOS设备的相关介绍
1.3.1 各种iOS设备
1.3.2 iOS设备的显示分辨率
1.3.3 iOS应用程序与硬件的关系
1.3.4 iPhone的网络连接
1.3.5 iPhone的输入与反馈机制
1.4 成为一名iOS开发者
1.4.1 注册成为Apple Developer
1.4.2 加入iOS开发者计划
1.5 下载并安装iOS开发工具
1.6 本书实战项目简介
2 认识Xcode 4
2.1 Xcode的欢迎界面
2.2 使用模板创建MyDiary项目
2.3 Xcode的工作界面
2.3.1 Xcode工具栏
2.3.2 导航区域
2.3.3 编辑区域
2.3.4 通用区域
2.4 使用代码编辑器
2.5 iOS模拟器
2.5.1 iOS模拟器的特性
2.5.2 模拟器中iOS系统的基本设置
2.5.3 在模拟器中安装和卸载应用程序
2.5.4 iOS模拟器的限制
2.6 管理MyDiary项目的配置选项
2.6.1 设置设备的支持方向
2.6.2 设置应用程序的图标
2.6.3 设置显示状态栏
2.6.4 设置应用程序的启动画面
3 有关Objective-C的知识储备
3.1 内存管理基础
3.1.1 C语言中的内存管理
3.1.2 面向对象的内存管理
3.2 引用计数器
3.2.1 使用引用计数器
3.2.2 使用autorelease
3.3 类的setter与getter方法
3.4 dealloc方法
3.5 使用properties简化访问器
3.6 手动内存管理的规则
3.7 自动引用计数器
3.7.1 强引用
3.7.2 弱引用
4 Xcode中的Interface Builder
4.1 了解Interface Builder
4.1.1 Interface Builder中的关联
4.1.2 故事板
4.2 创建用户界面
4.2.1 对象库
4.2.2 向视图添加界面元素
4.2.3 Interface Builder的布局工具
4.3 自定义界面的外观
4.3.1 属性检查窗口
4.3.2 设置辅助功能
4.3.3 在模拟器中使用辅助功能
4.4 与代码进行关联
4.4.1 要完成的效果
4.4.2 outlet变量和action方法简介
4.4.3 为ViewController类添加成员变量
4.4.4 创建outlet关联
4.4.5 创建action关联
4.4.6 使用快速检查器查看关联
5 视图控制器
5.1 MVC设计模式简介
5.2 MyDiary项目中的“关于作者”控制器
5.2.1 为“关于作者”控制器准备照片素材
5.2.2 设置Segmented Control
5.2.3 为控制器准备相关数据
5.2.4 UIImage的类方法介绍
5.3 视图控制器的重构
5.4 标签栏控制器
5.4.1 标签栏和其中的标签
5.4.2 在故事板中添加标签栏控制器
5.4.3 设置标签栏配置条目
5.5 与视图控制器相关的方法介绍
6 通过设备获取用户位置
6.1 项目、目标和框架
6.2 Core Location简介
6.3 创建LocationViewController控制器
6.4 Core Location框架
6.4.1 从CLLocationManager获取信息
6.4.2 在程序中确认定位服务是否可用
6.4.3 CLLocation类
6.5 委托
6.5.1 协议
6.5.2 协议方法
6.5.3 委托、控制器和内存管理
6.6 使用MapKit
6.6.1 高德地图iOS API
6.6.2 使用高德iOS API显示地图
6.6.3 在真机上测试高德地图
7 创建日记列表
7.1 表格视图的组成部分
7.2 准备要显示的数据
7.2.1 向Diary类的成员变量赋值
7.2.2 对象的分配和初始化
7.2.3 在故事板中添加表格视图
7.2.4 Arrays类
7.3 UITableViewController类
7.3.1 剖析DiaryListViewController
7.3.2 UITableView的数据源
7.4 UITableViewCell类
7.4.1 创建与检索单元格
7.4.2 UITableViewCell的复用
7.5 增加点击交互功能
8 通过导航控制器显示多个视图
8.1 使用导航控制器进行视图间的导航
8.1.1 导航控制器介绍
8.1.2 创建导航控制器
8.1.3 导航栏
8.2 增加日记的详细页面
8.3 使用UINavigationController进行导航
8.3.1 推出视图控制器
8.3.2 在视图控制器间传递数据
9 为日记添加文本记录功能
9.1 创建新的视图控制器
9.1.1 创建CreateDiaryViewController类
9.1.2 创建Create Diary View Controller场景
9.1.3 建立IBOutlet和IBAction关联
9.1.4 在应用程序中呈现和销毁CreateDiaryViewController
9.2 几种常用的文本控件
9.2.1 UILabel控件
9.2.2 UITextField控件
9.2.3 UITextView对象
9.3 虚拟键盘的使用
9.4 NSDate及其相关类
9.5 日记记录传回DiaryListViewController
10 为日记本添加照相功能
10.1 为项目添加新的视图控制器
10.1.1 创建CameraViewController类
10.1.2 CameraViewController的呈现与销毁
10.2 使用UIImagePickerController进行拍照
10.3 在应用程序中存储图片
10.3.1 NSDictionary类
10.3.2 创建和使用键
10.3.3 在Detail Diary View Controller场景中显示日记照片
11 保存与载入日记
11.1 应用程序沙箱
11.2 创建单例模式DiaryStore类
11.3 获取指定目录的路径
11.4 归档
11.4.1 对象的归档
11.4.2 对象的解档
11.5 应用程序的状态与过渡
11.6 使用NSData将数据写入文件系统
11.7 在Mac系统中查看应用程序的资源
12 在日记中录制和播放声音
12.1 创建录音机的界面
12.2 声音的录制
12.2.1 保存录制的音频文件
12.2.2 完善RecordViewController控制器
12.2.3 按照用户的要求进行录音
12.3 声音的播放
12.4 中断的处理
12.4.1 在播放声音时处理中断
12.4.2 在录制声音时处理中断
12.5 在Detail Diary View Controller场景中播放声音
13 应用程序的偏好设置
13.1 了解设置绑定资源包
13.2 为MyDiary添加设置绑定资源包
13.2.1 向项目中添加设置绑定资源包
13.2.2 设置属性列表
13.2.3 添加文本框设置
13.2.4 添加密码文本框设置
13.2.5 添加多值字段
13.2.6 添加开关设置
13.2.7 添加滑块设置
13.2.8 设置滑块图标
13.2.9 增加设置子视图
13.3 在应用程序中读取偏好设置内容
14 iOS应用程序架构介绍
14.1 Objective-C和Cocoa Touch
14.1.1 Cocoa Touch层
14.1.2 Foundation框架
14.1.3 iOS中的各种框架
14.2 iPhone应用程序的架构
14.2.1 main.m文件
14.2.2 自动释放池
14.2.3 UIApplicationMain()函数
14.2.4 应用程序委托
14.2.5 视图控制器
14.3 iOS应用程序的组成
14.3.1 应用程序文件夹的结构
14.3.2 可执行文件
14.3.3 Info.plist文件
14.3.4 程序图标和启动画面
14.3.5 XIB文件
14.3.6 IPA文档
14.4 平台的限制
15 应用程序的调试
15.1 iOS帮助文档
15.1.1 快速安装帮助文档
15.1.2 帮助文档的窗口
15.1.3 类的文档页面介绍
15.2 代码调试器
15.2.1 断点的设置
15.2.2 调试代码
15.2.3 调试控制台
15.2.4 检视对象
16 创建可滚动的视图
16.1 UIScrollView类
16.2 Scroll View和Text Field
16.2.1 完善Scroll View Controller中的界面元素
16.2.2 编写与滚动相关的代码
16.3 消息通知中心
16.4 完善CreateDiaryViewController控制器
16.4.1 使用Scroll View
16.4.2 在Text View中让键盘消失
17 自动旋转和自动调整大小
17.1 自动旋转的机制
17.1.1 点、像素和视网膜显示
17.1.2 旋转的方式
17.2 通过autosize属性处理旋转
17.2.1 创建一个新的视图控制器
17.2.2 配置所支持的方向
17.2.3 在控制器中设定支持方向
17.2.4 使用autosize属性设计界面
17.2.5 设置按钮的autosize属性
17.3 旋转时重构视图
17.3.1 创建和关联Outlet
17.3.2 旋转时移动按钮
17.4 旋转时切换视图
17.4.1 设计两个视图
17.4.2 执行旋转时的切换
17.4.3 改变Outlet Collections
18 编辑表格视图
18.1 表格视图的编辑模式
18.2 使用不同类型的附件指示器
18.3 创建自定义的单元格附件指示器
18.4 显示具有层级的表格视图
18.5 为表格创建Header和Footer
18.5.1 创建头视图
18.5.2 载入XIB文件中的视图
18.5.3 设置头视图
18.5.4 设置脚视图
18.6 删除行
18.7 移动表格视图中的行
18.8 在表格视图中使用刷新控件
19 手势识别
19.1 多点触摸概述
19.1.1 基本的操作手势
19.1.2 手势识别的分类和状态
19.1.3 触摸事件所响应的方法
19.2 拖曳手势的检测
19.2.1 简单的手势识别
19.2.2 UIPanGestureRecognizer类
19.3 轻划手势的检测
19.4 旋转手势的检测
19.5 长按手势的检测
19.6 掐捏手势的检测
20 警告用户
20.1 通过警告对话框与用户进行交互
20.1.1 构建简单的Alert警告对话框
20.1.2 设置Alert的delegate
20.1.3 显示警告对话框
20.1.4 警告的类型
20.2 在警告对话框中呈现菜单
21 应用程序的本地化
21.1 使用NSLocale将项目国际化
21.2 本地化资源
21.2.1 本地化资源文件
21.2.2 使用NSLocalizedString和String Tables
22 日历和事件
22.1 Event Kit框架
22.1.1 通过CalDAV同步Google日历
22.1.2 获取日历列表
22.1.3 向日历中添加事件
22.1.4 访问日历的事件列表
22.1.5 从日历中移除事件
22.1.6 添加重复发生的事件
22.2 Event Kit UI框架
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b4cb0e4b069f82a1a7665.png)
思维导图在线编辑链接: