📚 课程介绍
本课程深入解析iOS中的Runtime机制,通过一系列实战技巧和面试题,帮助开发者提升面试技能,掌握iOS开发的核心技术。
📋 学习前提
1. Objective-C基础(Objective-C是iOS开发的主要编程语言) 2. iOS开发环境搭建(Xcode、模拟器等)
📖 课程目录
第1章 课程介绍
1-1 全面解析iOS中的Runtime机制导学
1-2 介绍课程目标和学习内容
1-3 课程需要用到的知识点和环境参数
第2章 Runtime之必备C知识
2-1 指针介绍
2-2 普通指针、指针的指针实际演练
2-3 数组指针实际演练
2-4 函数指针实际演练
2-5 结构体介绍
2-6 访问结构体、结构体指针
2-7 结构体位域
2-8 位运算介绍
2-9 左移、右移位运算
2-10 或、异或、取反位运算
2-11 宏定义介绍及基本宏定义操作
2-12 宏定义逻辑判断
第3章 Runtime之类的本质
3-1 介绍OC、C、Runtime三者之间的关系
3-2 Runtime库和Runtime开源代码演示
3-3 OC中的类结构
3-4 OC对象模型
3-5 Tagged Pointer介绍
3-6 isa_t介绍
3-7 NSObject常用方法介绍
3-8 NSObject常用方法解析
第4章 Runtime之消息处理
4-1 类方法和实例方法之间的区别
4-2 objc_msgSend介绍
4-3 消息发送流程
4-4 直接跳过消息发送流程
4-5 消息转发流程
4-6 类方法动态消息解析
4-7 实例方法动态消息解析
4-8 重定向
4-9 转发
4-10 模拟多继承
第5章 Runtime之常用API
5-1 获取一个类objc_getClass
5-2 获取类的名称class_getName
5-3 获取成员变量class_copyIvarList介绍
5-4 获取成员变量class_copyIvarList实践
5-5 获取成员属性class_copyPropertyList
5-6 获取类的方法class_copyMethodList
5-7 获取协议列表class_copyProtocolList
5-8 动态添加变量class_addIvar介绍
5-9 动态添加变量class_addIvar实践
5-10 动态添加方法class_addMethod介绍
5-11 动态添加方法class_addMethod实践
5-12 动态交换方法method_exchangeImplementations
第6章 Runtime之初始化过程
6-1 程序加载过程
6-2 函数map_images介绍
6-3 函数map_images实践
6-4 函数load_images
6-5 函数initialize
第7章 Runtime之Category
7-1 Category介绍
7-2 Category的初始化
7-3 Catory中的方法覆盖问题(一)
7-4 Catory中的方法覆盖问题(二)
7-5 Category Associat的介绍及实现
第8章 Runtime之KVO
8-1 KVO介绍
8-2 KVO原理解析
8-3 KVO配合代码解析
8-4 手动调用KVO
8-5 修改isa指针
8-6 添加修改后的Setter、class方法
8-7 模拟KVO的实现-通知外界
8-8 模拟KVO的实现-实际运用
第9章 Runtime之应用技巧
9-1 Method Swizzling处理数组越界-原理分析
9-2 Method Swizzling处理数组越界-主要方法实现
9-3 Method Swizzling处理数组越界-在load中交换方法
9-4 Method Swizzling处理数组越界-如何处理数组越界
9-5 字典和模型的自动转换-原理分析
9-6 字典和模型的自动转换-Model的三种情况~1
9-7 字典和模型的自动转换-特殊需求的转换~1
9-8 手动归档和手动解档~1
9-9 自动归档和自动解档~1
9-10 自动归档和自动解档代码封装~1
9-11 万能跳转界面方法-原理分析~1
9-12 万能跳转界面方法-主要方法实现~1
9-13 万能跳转界面方法-跳转指定界面~1
第10章 Runtime之面试题目
10-1 面试题-alloc+init与new区别
10-2 面试题-Runtime如何通过Selector找到对应的IMP地址
10-3 面试题-实例变量
10-4 面试题-类结构体
10-5 面试题-Runtime Associate
10-6 面试题-Objective-C中调用方法的过程
10-7 面试题-Runtime如何实现 Weak 属性
10-8 面试题-[self class]和[super class]
10-9 面试题-isKindOfClass和isMemberOfClass
10-10 面试题-类间组织关系的理解
第11章 课程总结
11-1 内容总结
11-2 经验建议
