班级规模及环境--热线:4008699035 手机:15921673576/13918613812( 微信同号) |
每个班级的人数限3到5人,互动授课, 保障效果,小班授课。 |
上间和地点 |
上部份地点:【上海】同济大学(沪西)/新城金郡商务楼(11号线白银路站)【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院【北京分部】:北京中山/福鑫大楼【南京分部】:金港大厦(和燕路)【武汉分部】:佳源大厦(高新二路)【成都分部】:领馆区1号(中和大道)【沈阳分部】:沈阳理工大学/六宅臻品【郑州分部】:郑州大学/锦华大厦【石家庄分部】:河北科技大学/瑞景大厦 近开间(周末班/连续班/晚班):2019年1月26日 |
实验设备 |
◆小班教学,教学效果好 ☆注重质量☆边讲边练 ☆合格学员免费推荐工作 ★实验设备请点击这儿查看★ |
质量保障 |
1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听; 2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。 3、培训合格学员可享受免费推荐就业机会。☆合格学员免费颁发相关工程师等资格证书,提升职业资质。专注高端技术培训15年,曙海学员的能力得到大家的认同,受到用人单位的广泛赞誉,曙海的证书受到广泛认可。 |
部份程大纲 |
|
- 第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之类的本质
本章主要介绍什么是Runtime、Tagged Pointer、isa_t以及讲解OC中的类结构和NSObject常用方法解析。
- 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之消息处理
本章主要讲解消息处理策略,包含类方法和实例方法之间的区别、objc_msgSend、消息发送流程、直接跳过消息发送流程、消息转发流程、动态消息解析、重定向、转发、模拟多继承。
- 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
本章主要讲解Runtime的常用API,包含获取一个类objc_getClass、获取类的名称class_getName、获取变量列表class_copyIvarList、获取属性列表class_copyPropertyList、获取方法列表class_copyMethodList 、获取协议列表class_copyProtocolList、动态添加变量class_addIvar、动态添加方法class_addMethod、动态交换方法method_...
- 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之初始化过程
本章主要讲解Runtime的初始化过程,主要讲解程序加载过程、函数map_images、函数load_images、函数initialize 。
- 6-1 程序加载过程
6-2 函数map_images介绍
6-3 函数map_images实践
6-4 函数load_images
6-5 函数initialize
第7章 Runtime之Category
本章主要讲解Runtime的Category,首先会介绍什么是Category,接着会讲解Category的初始化、Category中的方法覆盖问题、Category Associate的介绍 、Category Associate的实现。
- 7-1 Category介绍
7-2 Category的初始化
7-3 Catory中的方法覆盖问题(一)
7-4 Catory中的方法覆盖问题(二)
7-5 Category Associat的介绍及实现
第8章 Runtime之KVO
本章主要讲解KVO的原理解析,并且会手动调用KVO,以及模拟KVO的实现。
- 8-1 KVO介绍
8-2 KVO原理解析
8-3 KVO配合代码解析
8-4 手动调用KVO
8-5 模拟KVO的实现-修改isa指针
8-6 模拟KVO的实现-添加修改后的Setter、class方法
8-7 模拟KVO的实现-通知外界
8-8 模拟KVO的实现-实际运用
第9章 Runtime之应用技巧
本章主要讲解Runtime在企业开发中的实际应用,包括Method Swizzling处理数组越界、字典和模型的自动转换、自动归档和自动解档、万能跳转界面方法。
- 9-1 Method Swizzling处理数组越界-原理分析
9-2 Method Swizzling处理数组越界-主要方法实现
9-3 Method Swizzling处理数组越界-在load中交换方法
9-4 Method Swizzling处理数组越界-如何处理数组越界
9-5 字典和模型的自动转换-原理分析
9-6 字典和模型的自动转换-Model的三种情况
9-7 字典和模型的自动转换-特殊需求的转换
9-8 手动归档和手动解档
9-9 自动归档和自动解档
9-10 自动归档和自动解档代码封装
9-11 万能跳转界面方法-原理分析
9-12 万能跳转界面方法-主要方法实现
9-13 万能跳转界面方法-跳转指定界面
第10章 Runtime之面试题目
本章会讲解企业面试中十道经典的Runtime面试题目,让你轻松拿高薪offer。
- 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 面试题-类间组织关系的理解
|