目录
目 录
前言
第1章 走进iOS
1.1 iOS简介
1.1.1 智能手机操作系统
1.1.2 iOS发展历史
1.1.3 iOS应用程序的设计理念
1.2 iOS系统的结构
1.2.1 Core OS
1.2.2 Core Services
1.2.3 Media
1.2.4 Cocoa Touch
1.3 iOS和macOS对比
1.4 学好iOS开发的建议
1.5 小结
第2章 创建第一个iOS应用
2.1 iOS开发环境
2.1.1 安装Xcode
2.1.2 认识Xcode
2.2 创建iOS应用——Hello World
2.2.1 创建一个Xcode项目
2.3 认识Xcode的面板
2.3.1 Navigators面板
2.3.2 Jump Bar跳转栏
2.4 运行iOS应用
2.4.1 使用iOS模拟器运行应用
2.4.2 使用iOS设备运行应用
2.5 Playground介绍
2.6 小结
第3章 Swift基础知识
3.1 Swift语言介绍
3.2 变量
3.2.1 声明和命名规则
3.3 常量
3.3.1 声明和命名规则
3.4 Swift基础数据类型
3.4.1 数字类型
3.4.2 布尔值(Bool)
3.4.3 字符串(String)
3.4.4 可空类型
3.5 注释
3.6 小结
3.7 知识拓展
第4章 控制语句
4.1 条件语句
4.1.1 if…else语句
4.1.2 比较运算符
4.1.3 逻辑运算符
4.1.4 三目运算符
4.1.5 else if
4.2 switch语句
4.2.1 什么是switch
4.2.2 开始使用switch
4.2.3 switch的区间
4.2.4 switch值绑定
4.2.5 where子句
4.2.6 元组和模式匹配
4.2.7 switch与if…case
4.3 循环语句
4.3.1 for…in循环
4.3.2 类型推断
4.3.3 while循环
4.3.4 repeat…while循环
4.3.5 控制转移语句
4.4 小结
4.5 知识拓展
第5章 数据容器
5.1 数组
5.1.1 数组创建
5.1.2 数组的读取和修改
5.1.3 数组的遍历
5.1.4 数组的相等判断
5.1.5 不可变数组
5.2 字典
5.2.1 字典创建
5.2.2 字典的读取和修改
5.2.3 字典的遍历
5.2.4 字典到数组的转换
5.2.5 不可变字典
5.3 集合
5.3.1 集合创建
5.3.2 集合的修改
5.3.3 集合的遍历
5.3.4 集合的运用
5.4 小结
5.5 知识拓展
第6章 函数和闭包
6.1 函数
6.1.1 函数的基本概念
6.1.2 函数参数
6.1.3 默认参数
6.1.4 in-out参数
6.1.5 函数返回值
6.1.6 嵌套函数
6.1.7 作用域
6.1.8 函数类型
6.2 闭包
6.2.1 闭包的概念
6.2.2 闭包的语法
6.2.3 闭包表达式
6.2.4 闭包捕获上下文
6.2.5 闭包式引用
6.3 小结
6.4 知识拓展
第7章 自定义类型
7.1 枚举
7.1.1 基本枚举
7.1.2 枚举的原始值
7.1.3 方法
7.1.4 关联值
7.2 结构体
7.2.1 结构体的声明
7.2.2 实例方法
7.2.3 关键字mutating
7.3 类
7.3.1 类的声明
7.3.2 类的继承
7.4 属性
7.4.1 属性的设置
7.4.2 属性的懒加载
7.4.3 属性的读取
7.4.4 属性的写入
7.4.5 观察属性的变化
7.4.6 类型的属性
7.4.7 访问控制
7.5 初始化
7.5.1 初始化语法
7.5.2 结构体的初始化
7.5.3 类的初始化
7.5.4 可失败的初始化
7.6 值类型与引用类型
7.6.1 值语义
7.6.2 引用语义
7.6.3 相等与同一
7.7 小结
7.8 知识拓展
第8章 Swift高级特性
8.1 协议
8.1.1 协议的定义
8.1.2 协议的使用
8.1.3 符合协议
8.1.4 协议继承
8.1.5 协议组合
8.2 扩展
8.2.1 扩展已有类型
8.2.2 扩展自定义类型
8.3 错误处理
8.3.1 错误的分类
8.3.2 抛出错误
8.3.3 捕获错误
8.3.4 错误处理的原则
8.4 内存管理
8.4.1 内存分配
8.4.2 ARC
8.4.3 循环引用
8.5 小结
8.6 知识拓展
第9章 iOS应用开发概览
9.1 iOS应用基础框架
9.1.1 iOS应用的生命周期
9.1.2 main()函数
9.1.3 UIApplicationDelegate
9.1.4 Nib文件
9.1.5 事件处理流程
9.2 iOS应用运行环境
9.2.1 快速启动
9.2.2 安全处理
9.2.3 系统内存管理
9.3 iOS应用程序包
9.3.1 Info.plist
9.3.2 应用程序图标
9.4 iOS应用程序间的交互
9.4.1 使用URL打开其他应用程序
9.4.2 从外部URL打开应用程序
9.5 小结
9.6 知识拓展
第10章 窗口和视图
10.1 窗口和视图简介
10.1.1 窗口
10.1.2 视图
10.2 UIView基础
10.2.1 UIView的Frame布局
10.2.2 UIView绘制
10.2.3 UIView的层次结构
10.3 自动布局Auto Layout
10.3.1 布局属性
10.3.2 约束
10.4 小结
10.5 知识拓展
第11章 视图控制器
11.1 视图控制器基础
11.1.1 视图控制器的功能
11.1.2 UIViewController的子类
11.2 UIViewController的生命周期
11.2.1 初始化
11.2.2 加载视图
11.2.3 视图展示
11.2.4 视图消失
11.3 UIViewController的使用
11.3.1 UIViewController概述
11.3.2 自定义UIViewController
11.4 UINavigationController的使用
11.4.1 UINavigationController概述
11.4.2 使用UINavigationController
11.5 UITabBarController的使用
11.5.1 UITabBarController概述
11.5.2 使用UITabBarController
11.6 小结
11.7 知识拓展
第12章 简单控件
12.1 UIKit简介
12.1.1 控件的分类
12.1.2 UIControl
12.2 UIButton
12.2.1 在视图中添加UIButton
12.2.2 UIButton的属性
12.3 UITextField
12.3.1 在视图中添加UITextField
12.3.2 UITextField的属性
12.3.3 UITextFieldDelegate
12.4 UISwitch
12.4.1 在视图中添加UISwitch
12.4.2 UISwitch的属性
12.5 UISegmentedControl
12.5.1 在视图中添加UISegmentedControl
12.5.2 UISegmentedControl的属性和方法
12.6 UISlider
12.6.1 在视图中添加UISlider
12.6.2 UISlider的属性
12.7 UIImageView
12.7.1 在视图中添加UIImageView
12.7.2 UIImageView的属性
12.8 UIProgressView
12.8.1 在视图中添加UIProgressView
12.8.2 UIProgressView的属性
12.9 UIActivityIndicatorView
12.9.1 在视图中添加UIActivityIndicatorView
12.9.2 UIActivityIndicatorView的属性
12.10 UIDatePicker
12.10.2 UIDatePicker的属性
12.11 UIPickerView
12.11.2 UIPickerView的属性
12.11.4 UIPickerViewDelegate
12.12 UIAlertController
12.12.1 展示UIAlertController警示框
12.12.2 展示UIAlertController选择框
12.13 UIStepper
12.13.2 UIStepper的属性
12.14 UITextView
12.14.1 添加UITextView
12.14.2 UITextView的属性
12.14.3 UITextViewDelegate
12.15 小结
12.16 知识拓展
第13章 复杂控件
13.1 UITableView
13.1.1 添加UITableView
13.1.2 UITableViewDataSource
13.1.3 UITableViewDelegate
13.1.4 UITableViewCell
13.1.5 创建一个数据类
13.2 UICollectionView
13.2.1 添加UICollectionView
13.2.2 UICollectionViewDataSource
13.2.3 UICollectionViewDelegate
13.2.4 UICollectionViewFlowlayout
13.2.5 UICollectionViewCell
13.3 WKWebView
13.3.1 添加WKWebView
13.3.2 WKNavigationDelegate
13.3.3 WKUIDelegate
13.4 小结
13.5 知识拓展
第14章 事件处理
14.1 触摸
14.1.1 触摸机制
14.1.2 触摸与事件
14.1.3 事件传递
14.1.4 事件响应过程
14.1.5 事件处理方法
14.2 动作
14.3 手势
14.4 编辑事件
14.4.1 粘贴板
14.4.2 数据表示
14.4.3 选项菜单
14.4.4 剪切和复制
14.4.5 粘贴
14.5 小结
14.6 知识拓展
第15章 绘图
15.1 Quartz 2D
15.2 Quartz 2D绘图
15.2.1 坐标
15.2.2 颜色
15.2.3 图形
15.3 贝塞尔曲线
15.3.1 绘制曲线
15.3.2 曲线内部检测
15.4 小结
15.5 知识拓展
第16章 动画
16.1 Core Animation
16.1.1 CALayer
16.1.2 CAAnimation
16.1.3 CATransaction
16.1.4 动画实战
16.2 小结
第17章 多媒体开发
17.1 初识AVFoundation
17.2 音频
17.2.1 音频支持
17.2.2 播放音频
17.2.3 录制音频
17.3 相册以及相机使用
17.3.1 UIImagePickerController
17.3.2 UIImagePickerControllerDelegate
17.4 小结
第18章 传感器使用
18.1 Core Motion
18.1.1 加速度计
18.1.2 陀螺仪
18.1.3 磁力计
18.2 Core Location
18.2.1 获取当前位置
18.2.2 获取城市信息
18.3 小结
第19章 iOS文件系统
19.1 iOS文件操作
19.1.1 iOS常用目录
19.1.2 获取常用目录的路径
19.1.3 iOS应用更新机制
19.1.4 iOS文件备份和恢复
19.2 iOS数据读写操作
19.2.1 读写文件数据
19.2.2 读写属性列表数据
19.2.3 归档器和解档器读写数据
19.2.4 保存状态
19.3 小结
19.4 知识拓展
第20章 数据
20.1 SQLite数据库
20.1.1 SQLite中的数据类型
20.1.2 SQLite常用函数及返回码
20.1.3 打开数据库
20.1.4 创建表
20.1.5 操作语句
20.1.6 数据查询
20.2 XML
20.2.1 XML简介
20.2.2 XML语法
20.2.3 XML元素
20.2.4 XML属性
20.3 JSON
20.3.1 JSON简介
20.3.2 JSON语法
20.3.3 JSON实战
20.4 小结
20.5 知识拓展
第21章 项目实战
21.1 发布流程
21.2 倒计时提醒应用
21.2.1 应用功能的确定
21.2.2 创建项目
21.2.3 创建自定义的Cell
21.2.4 搭建添加事件的界面
21.2.5 事件的数据结构
21.2.6 事件的数据库读写
21.2.7 开发添加事件的功能
21.2.8 开发事件展示的界面
21.3 小结