iOS技能总结篇
一、UI原理分析及高级应用
1 App启动过程
1.1 应用的启动过程
1.2 UIWindow的理解及应用
1.3 启动业务优化及框架搭建
1.4 引导页和启动广告模块搭建方案
1.5 启动时间优化
2 控制器加载过程
2.1 控制器的初始化
2.2 控制器View的加载
2.3 控制器的布局
3 UI初始化过程
3.1 UI初始化过程一
3.2 UI初始化过程二
3.3 UI初始化过程三
3.4 UI初始化过程四
3.5 总结
4 UIScrollview控件原理
5 Tableview实现原理及高级应用
5.1 tableview原理与应用简介
5.2 tableview原理
5.3 tableview原理实现之数据处理
5.4 tableview原理实现之UI处理
5.5 tableview原理之大数据量优化处理
5.6 tableivew原理回顾及性能优化
5.7 tableview右滑自定义删除实现
5.8 tableview全局编辑方式自定义实现
5.9 tableview之header悬浮原理及应用
5.10 总结
6 UICollection实现原理及高级应用
6.1 UICollectionView实现原理
6.2 UICollectionView高级应用
6.3 UICollectionView实战
7 SearchController的实现原理及应用分析
7.1 UISearchController实现原理
7.2 搜索Present实现方式
7.3 UISearchController结构分析
7.4 原理应用之分析UISearchController的问题
7.5 项目中搜索业务实现分析
8 导航条的实现原理及高级应用
8.1导航条原理及应用大纲
8.2 导航条原理
8.3 导航透明分析及问题
8.4 导航非透明分析及总结
8.5 区域自动调节之Inset讲解
8.6 SafeArea作用
8.7 导航条的刷新机制
8.8 导航条转场动画原理
8.9 高级转场动画
8.10 高级转场交换动画及动画分析
8.11 应用之导航条多菜单方式
8.12 应用之导航条隐藏的bug
8.13 应用之全透明方式和黑线问题
8.14 问题的分析
8.15 总结
二、底层原理及应用:
1 事件原理及应用
1.1 事件的类型
1.2 事件产生的原理和过程
1.3 事件的响应原理
1.4 自己实现系统的事件响应原理
1.5 手势识别原理
1.6 Button事件原理分析
1.7 事件系统框架分析
1.8 响应链原理及事件的多方响应
1.9 手势和button事件冲突案例
1.10 scrollview案例
1.11 手势冲突案例
1.12 多手势共存案例
1.13 事件原理应用之去代理模式案例
1.14 总结
2 图片处理底层原理
2.1 ImageView图片加载底层堆栈分析
2.2 图片文件压缩及用途
2.3 图片压缩及优化处理方式
2.4 滤镜操作及原理
2.5 裁剪和截屏方式及性能方面的注意
2.6 图片的缩放
2.7 ImageIO讲解
2.8 ImageIO的decode讲解一
2.8 ImageIO的decode讲解二
2.9 ImageIO的encode讲解
2.10 二维码图片的生成
3 图文混排原理及应用
3.1 富文本原理及文本数据结构
3.2 富文本原理实现
3.3 字符的区域范围控制原理
3.4 竖排编排原理及实现
4 block原理
4.1 block本质
4.2 block类型及内存
4.3 Clang源码的本质
4.4 有参数类型结构分析
4.5 无参数类型结构分析
4.6 __block的本质
4.7 对象结构和操作符的本质
4.8 block内存泄露根源分析
4.9 block源代码分析
4.10 block问题案例
4.11 总结
5 http原理实现
6 动画原理及高级应用
6.1 图层
6.2 呈现树及渲染树
6.3 寄缩图
6.4 寄宿图应用及矢量图加载分析
6.5 动画原理小结
6.6 隐式动画原理
6.7 隐式动画的修改
6.8 图层几何学及实战之时钟应用
6.9 二维变换
6.10 3D变换
6.11 3D应用之立方体
6.12 视觉效果
6.13 专用图层之绘制优化
6.14 专用图层之文本优化
6.15 专用图层之3D
6.16 专用图层之颜色渐变及应用之彩虹渐变
6.17 专用图层之图层复制
6.18 专用图层之图片加载优化及百度地图实现的方案
6.19 专用图层之粒子发射器
6.20 属性动画
6.21 动画组
6.22 过渡动画
6.23 过渡动画补充之转场动画
6.24 动画的取消和修改
6.25 动画的暂停和恢复
6.26 动画的实时控制
7 KVO实现原理
7.1 KVC机制
7.2 KVO原理
8 Base64编码实现原理
三、常用框架核心原理分析及实现自己的框架
1 轻量级图片加载框架实现(轻量版SDWebImage)
1.1 SDWebImage框架的实现原理
1.2 整体的基本结构布局
1.3 功能点布局
1.4 缓存模块的实现
1.5 网络同步操作的实现
1.6 图片加载的性能优化
1.7 效果展示
1.8 框架的异常情况处理一
1.9 框架的异常情况处理二
1.10 框架的异常情况处理三
1.11 SDWebImage的问题
2 上下拉刷新框架搭建及应用
2.1 上下拉刷新原理分析
2.2 刷新悬停的实现原理
2.3 上下拉刷新实现
2.4 刷新框架的搭建和分析
2.5 框架应用之支付宝下拉刷新效果实现
2.6 常用框架MJRefresh问题分析
3 数据库框架搭建及应用
3.1 SQL语句
3.2 Sqlite3框架常用方法释义
3.3 数据库框架搭建的思路分析
3.4 搭建自己的数据库框架
4 MVCS框架解析
4.1 MVCS框架搭建与分析
4.2 MVCS框架的优劣
5 AFNetwork框架(及如何搭建自己的网络层)
5.1 AFNetwork框架的技术发展历程
5.2 AFNetwork的网络技术及网络业务的熟悉
5.3 基于网络业务,分析AFNetwork框架是如何搭建的
5.4 分析AFNetwork框架结构
5.5 Request模块分析
5.6 Response模块分析
5.7 执行模块分析
5.8 安全模块之https原理
5.9 安全模块分析
5.10 网络状态模块分析
5.11 AFNetwork框架的内存泄露问题及解决方案
5.12 AFNetwork框架的下载功能缺陷
5.13 AFNetwork框架的缓存功能缺陷
5.14 AFNetwork框架的异常功能缺陷
5.15 AFNetwork框架的安全缺陷
5.16 下载功能缺陷解决方案
5.17 缓存缺陷解决方案
5.18 异常缺陷解决方案
5.19 安全缺陷解决方案
6 Alamofire
6.1 简介
6.2 Alamofire框架的底层网络技术
6.3 Alamofire底层的queue技术运用
6.4 Alamofire的数据对象关联技术
6.5 Session模块分析
6.6 Task模块分析
6.7 简易版Manager模块搭建
6.8 简易版Task模块搭建
6.9 响应回调处理
6.10 Alamofire框架总析及简易版Alamofire框架完成
7 MVVM
8 MVCC
9 单例模式
9.1 单例运用场景
9.2 iOS中系统中存在的单例模式
9.3 单例的内存生命周期
9.4 单例的实现及如何保证内存中的唯一性
10 天猫构架分析及业务解耦搭建
10.1 分析框架从0到1过程的遇到问题
10.2 工程多人开发解决方案
10.3 项目代码量逐渐庞大,编译速度问题及方案
10.4 路由的理解及实现
10.5 安全问题及方案
四、源码分析
1 runtime
1.1 根类的数据结构
1.2 方法的数据结构及关系
1.3 方法的编码
1.4 分类的本质
1.5 分类不能直接添加变量的分析
1.6 分类方法冲突及指定方法执行
1.7 方法交换的本质
1.8 方法的交换方式一
1.9 方法的交换方式二
1.10 方法交换的应用场景及优劣
1.11 类簇及注意事项
1.12 动态的生成一个类及应用场景
1.13 消息机制
1.14 runtime小结
1.15 源码之NSObject的Class结构信息
1.16 源码之isa_t结构
1.17 源码之分析对象的创建
2 runloop
2.1 前言
2.2 runloop操作及应用
2.3 runloop内部结构对象及关系
2.4 runlop源码之核心业务结构分析
2.5 runloop源码之Block处理
2.6 runloop源码之Sources0处理
2.7 runloop源码之GCD处理
2.8 runloop源码之source1处理
2.9 runloop源码之定时器处理
2.10 runloop源码之Observer处理
2.11 runloop源码之Model切换分析
2.12 runloop与线程的关联
2.13 runloop与定时器的关联
2.14 runloop与动画,界面刷新的关联
2.15 runloop与事件的关联
2.16 runloop与内存的关联
2.17 runloop与网络的关联
2.18 runloop源码小结
2.19 runloop实战之大数据量处理优化
2.20 runloop实战之程序奔溃后重启
2.21 runloop实战之图片加载优化
3 GCD
3.1 系统的优化
3.2 安全性运算原子操作
3.3 DISPATCH_DECL类型处理
3.4 联合体
3.5 dispatch_once分析
3.6 queue数据结构
3.7 同步实现分析
3.8 异步实现分析
3.9 group实现分析
3.10 信号量实现分析
4 内存
4.1 内存机制简介
4.2 AutoreleasePool管理那些对象
4.3 AutoreleasePool外的对象,系统如何处理的一
4.4 AutoreleasePool外的对象,系统如何处理的二
4.5 Swift内存处理
4.6 内存管理机制小结
5 AutoreleasePoolPage源码分析
5.1 分析自动释放池的内存结构布局
5.2 分析自动释放池如何存储对象
5.3 分析自动释放池的内存状态
5.4 分析magic的作用
5.5 初步分析线程和自动释放池的关系
5.6 分析线程的生命周期与自动释放池的关联 (创建,使用,结束 未录)
5.6 分析自动释放池剩余变量作用
5.7 分析自动释放池 Push
5.8 分析自动释放池 Pop
5.9 追踪源码,分析系统对自动释放池的使用
5.10 源码之自动释放池案例分析
5.11 深入分析自动释放池和线程的关系
6 weak源码分析
6.1 weak的实现原理
6.2 weak原理相关的数据结构
6.3 weak原理的操作过程及数据结构之间的关系
6.4 weak底层源码主逻辑实现分析
6.5 weak底层源码细节分析
6.6 对象释放过程中对weak的操作
五、多线程应用
1.1 NSThread使用和Runloop的关系
1.2 NSThread注意的内存泄露问题
2.1 Operation的几种使用方式
2.2 Operation线程的依赖及依赖的原理分析
2.3 Operation线程的取消
2.4 Operation注意的内存泄露问题
3.1 GCD的串行与并行
3.2 GCD的同步与异步
3.3 GCD的组任务及应用
3.4 GCD的任务的分界处理
3.5 GCD的应用之属性的安全读写
3.6 GCD的任务重复执行及延后处理
3.7 GCD定时器的实现
3.8 分析如何提高定时器的精准度及实现
3.9 其他
4.1 互斥锁的底层实现及应用
4.2 信号量的使用及应用之网络的同步
4.3 死锁案例及分析
4.4 条件锁的实现原理及应用
4.5 自旋锁的使用及优劣分析
4.6 递归锁的使用
六、沙盒分析及本地数据存储
1 沙盒目录的作用及注意事项
2 沙盒之网络数据存储
3 沙盒之NSUserDefaults的本质
4 Bundle使用及注意
5 数据的归档
6 系统数据库的存储操作(App删除数据仍然在)
7 应用间的数据共享
七、IM
1微型客服端搭建一
2微型客服端搭建二
3微型服务端搭建一
4微型客服端搭建二
5UDP通讯的实现和优劣分析
6UDP如何实现数据安全策略
7http原理刨析
8总结
八、实时音频播放之实现
1 实时音频的实现原理
2 本地音频播放的初始化
3 音频文件的属性数据的解析
4 音频数据的解析
5 音频数据流网络化
6 实时音频的总结及过程中的注意事项
九、算法与数据结构
1 时间和空间的复杂度分析一
2 时间和空间的复杂度分析二
3.1 单链表
3.2 双向列表
3.3 循环列表
3.4 应用场景分析
3.5 列表 VS 数组性能比较
4 栈及应用场景分析
5 队列及应用场景分析
6 排序
7 二分查找及定位IP应用场景分析
8 哈希表
9 哈希冲突分析
详细内容:https://dwz.cn/UW5DVqhO