扫码下载「CSDN程序员学院APP」,1000+技术好课免费看
APP订阅课程,领取优惠,最少立减5元 ↓↓↓
![](https://img-blog.csdnimg.cn/20201202154019321.png)
订阅后:请点击此处观看视频课程
视频教程-iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-iOS
学习有效期:永久观看
学习时长:3316分钟
学习计划:56天
难度:低
「口碑讲师带队学习,让你的问题不过夜」
![](https://img-bss.csdnimg.cn/2018717154640796_46214.jpg?imageMogr2/auto-orient/thumbnail/150x150!/format/jpg)
讲师姓名:李明杰
CEO/董事长/总经理
讲师介绍:小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh、MJExtension),目前在国内的使用率非常高。
☛点击立即跟老师学习☚
「你将学到什么?」
得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术不断的更新和升级,更快帮助职场人士在开发领域脱颖而出。远程视频教学,无须长途奔袭,碎片化时间学习,成长随时随地!
「课程学习目录」
第1章:OC对象的本质 |
1.OC对象的本质01-OC和C_C++ |
2.OC对象的本质02-将OC转换为C_C++ |
3.OC对象的本质03-NSObject的内存本质 |
4.class_getInstanceSize、malloc_size |
5.OC对象的本质05-回答面试题 |
6.OC对象的本质06-窥探NSObject的内存 |
7.OC对象的本质07-Student的本质 |
8.OC对象的本质08-Student的内存布局 |
9.OC对象的本质09-更复杂的继承结构 |
10.OC对象的本质10-属性和方法 |
11.OC对象的本质11-答疑 |
12.OC对象的本质12-内存分配注意点 |
13.OC对象的本质13-alloc的size分析 |
14.OC对象的本质14-libmalloc源码 |
15.OC对象的本质15-glibc源码 |
16.OC对象的本质16-sizeof注意点 |
第2章:OC对象的分类 |
1.OC对象的分类01-instance对象 |
2.OC对象的分类02-class对象 |
3.OC对象的分类03-meta-class对象 |
4.OC对象的分类04-object_getClass内部实现 |
5.OC对象的分类05-答疑 |
第3章:isa和superclass |
1.isa和superclass01-isa |
2.isa和superclass02-class的superclass |
3.isa和superclass03-meta-class的superclass |
4.isa和superclass04-总结01 |
5.isa和superclass05-总结02 |
6.isa和superclass06-isa细节 |
7.isa和superclass7-class和meta-class的结构 |
8.isa和superclass08-答疑 |
第4章:KVO |
1.KVO01-基本使用 |
2.KVO02-存在的疑问 |
3.KVO03-本质分析 |
4.KVO04-本质验证 |
5.KVO05-窥探Foundation |
6.KVO06-内部调用流程 |
7.KVO07-子类的内部方法01 |
8.KVO08-子类的内部方法02 |
9.KVO09-总结-答疑 |
10.KVO10-补充 |
第5章:KVC |
1.KVC01-基本使用 |
2.KVC02-设值的原理 |
3.KVC03-取值的原理 |
第6章:Cateogry |
1.Cateogry01-基本使用 |
2.Cateogry02-底层结构 |
3.Cateogry03-源码分析01 |
4.Cateogry04-源码分析02 |
5.Cateogry05-memmove、memcpy区别 |
6.Cateogry06-答疑 |
7.Cateogry07-load01-基本使用 |
8.Cateogry08-load02-调用原理 |
9.Cateogry09-load03-调用顺序 |
10.Cateogry10-initialize01-基本使用 |
11.Cateogry11-initialize02-源码分析 |
12.Cateogry12-initialize03-注意点 |
13.Cateogry13-load、initialize总结 |
第7章:关联对象 |
1.关联对象01-分类添加属性 |
2.关联对象02-使用字典完善属性 |
3.关联对象03-使用字典存在的问题 |
4.关联对象04-基本用法 |
5.关联对象05-key的用法 |
6.关联对象06-答疑 |
7.关联对象07-底层数据结构01 |
8.关联对象08-底层数据结构02 |
第8章:block |
1.block01-基本认识 |
2.block02-底层数据结构 |
3.block03-变量捕获01-auto变量 |
4.block04-变量捕获02-static变量 |
5.block05-变量捕获03-全局变量 |
6.block06-类型01 |
7.block07-类型02 |
8.block08-答疑 |
9.block09-copy |
10.block10-对象类型的auto变量01 |
11.block11-对象类型的auto变量02 |
12.block12-对象类型的auto变量03 |
13.block13-__block01-修改变量 |
14.block14-__block02-本质 |
15.block15-__block03-细节 |
16.block16-__block04-内存管理01 |
17.block17-__block05-内存管理02 |
18.block18-__block06-forwarding |
19.block19-__block07-内存管理03 |
20.block20-__block08-内存管理04 |
21.block21-循环引用01-问题 |
22.block22-循环引用02-ARC01 |
23.block23-循环引用03-ARC02 |
24.block24-循环引用04-MRC |
25.block25-总结-答疑 |
第9章:Runtime |
1.Runtime01-简介 |
2.Runtime02-isa01-简介 |
3.Runtime03-isa02-需求 |
4.Runtime04-isa03-取值 |
5.Runtime05-isa04-设值 |
6.Runtime06-isa05-位域 |
7.Runtime07-isa06-共用体 |
8.Runtime08-isa07-总结 |
9.Runtime09-isa08-位运算补充 |
10.Runtime10-isa09-细节 |
11.Runtime11-方法01-Class的结构 |
12.Runtime12-方法02-method_t |
13.Runtime13-方法03-Type Encoding |
14.Runtime14-方法04-cache_t |
15.Runtime15-方法05-散列表缓存 |
16.Runtime16-方法06-查看缓存01 |
17.Runtime17-方法07-查看缓存02 |
18.Runtime18-objc_msgSend01-简介 |
19.Runtime19-objc_msgSend02-消息发送01 |
20.Runtime20-objc_msgSend03-消息发送02 |
21.Runtime21-objc_msgSend04-动态方法解析01 |
22.Runtime22-objc_msgSend05-动态方法解析02 |
23.Runtime23-objc_msgSend06-动态方法解析03 |
24.Runtime24-objc_msgSend07-消息转发01 |
25.Runtime25-objc_msgSend08-消息转发02 |
26.Runtime26-objc_msgSend09-消息转发03 |
27.Runtime27-objc_msgSend10-消息转发04 |
28.Runtime28-objc_msgSend11-消息转发05 |
29.Runtime29-objc_msgSend12 |
30.Runtime30-super01 |
31.Runtime31-super02 |
32.Runtime32-答疑 |
33.Runtime33-class面试题01 |
34.Runtime34-class面试题02 |
35.Runtime35-super面试题01 |
36.Runtime36-super面试题02 |
37.Runtime37-super面试题03 |
38.Runtime38-super面试题04 |
39.Runtime39-super面试题05 |
40.Runtime40-答疑 |
41.Runtime41-LLVM的中间代码 |
42.Runtime42-API01-类 |
43.Runtime43-API02-成员变量01 |
44.Runtime44-API02-成员变量02 |
45.Runtime45-API02-成员变量03 |
46.Runtime46-API03-方法01 |
47.Runtime47-总结 |
48.Runtime48-API03-方法02 |
49.Runtime49-API03-方法03 |
第10章:RunLoop |
1.Runloop01-基本认识 |
2.Runloop02-获取RunLoop对象 |
3.Runloop03-CFRunLoopModeRef |
4.Runloop04-CFRunLoopModeRef的成员 |
5.Runloop05-CFRunLoopObserverRef |
6.Runloop06-答疑 |
7.Runloop07-执行流程图 |
8.Runloop08-源码分析 |
9.Runloop09-调用细节 |
10.Runloop10-休眠的细节 |
11.Runloop11-NSTimer失效 |
12.Runloop12-线程保活01 |
13.Runloop13-线程保活02 |
14.Runloop14-线程保活03 |
15.Runloop15-线程保活04 |
16.Runloop16-答疑 |
17.Runloop17-线程保活05 |
18.Runloop18-线程保活06 |
19.Runloop19-线程的封装01-接口设计 |
20.Runloop20-线程的封装02-内部实现 |
21.Runloop21-线程的封装03-C语言方式实现 |
22.Runloop22-答疑 |
第11章:多线程 |
1.多线程01-基本概念 |
2.多线程02-gcd01 |
3.多线程03-gcd02 |
4.多线程04-gcd03 |
5.多线程05-gcd04 |
6.多线程06-面试题01 |
7.多线程07-GNUstep |
8.多线程08-面试题02 |
9.多线程09-GCD队列组 |
10.多线程10-安全隐患分析 |
11.多线程11-OSSpinLock01 |
12.多线程12-OSSpinLock02 |
13.多线程13-OSSpinLock03 |
14.多线程14-答疑 |
15.多线程15-os_unfair_lock |
16.多线程16-pthread_mutex01 |
17.多线程17-pthread_mutex02-递归锁 |
18.多线程18-自旋锁、互斥锁汇编分析 |
19.多线程19-pthread_mutex03-条件 |
20.NSLock、NSRecursiveLock、NSCondition |
21.多线程21-答疑 |
22.多线程22-遗留问题解决 |
23.多线程23-NSConditionLock |
24.多线程24-SerialQueue |
25.多线程25-semaphore01-最大并发数量 |
26.多线程26-semaphore02-线程同步 |
27.多线程27-@synchronized |
28.多线程28-同步方案性能对比 |
29.多线程29-自旋锁、互斥锁对比 |
30.多线程30-atomic |
31.多线程31-读写安全01-简介 |
32.多线程32-读写安全02-pthread_rwlock |
33.多线程33-读写安全03-barrier_async |
第12章:内存管理 |
1.内存管理01-定时器01 |
2.内存管理02-定时器02 |
3.内存管理03-定时器03 |
4.内存管理04-定时器04 |
5.内存管理05-NSProxy补充 |
6.内存管理06-GCD定时器01 |
7.内存管理07-GCD定时器02 |
8.内存管理08-GCD定时器03 |
9.内存管理09-内存布局 |
10.内存管理10-Tagged Pointer01 |
11.内存管理11-Tagged Pointer02 |
12.内存管理12-Tagged Pointer03 |
13.内存管理13-Tagged Pointer04 |
14.内存管理14-MRC01 |
15.内存管理15-MRC02 |
16.内存管理16-MRC03 |
17.内存管理17-MRC04 |
18.内存管理18-MRC05 |
19.内存管理19-copy01 |
20.内存管理20-copy02 |
21.内存管理21-copy03 |
22.内存管理22-copy04 |
23.内存管理23-copy05 |
24.内存管理24-copy06 |
25.内存管理25-引用计数的存储 |
26.内存管理26-weak指针的原理 |
27.内存管理27-autorelease原理01 |
28.内存管理28-autorelease原理02 |
29.内存管理29-autorelease原理03 |
30.内存管理30-autorelease原理04 |
31.内存管理31-autorelease原理05 |
32.内存管理32-RunLoop与autorelease01 |
33.内存管理33-RunLoop与autorelease02 |
第13章:性能优化 |
1.性能优化01-CPU和GPU |
2.性能优化02-产生卡顿的原因 |
3.性能优化03-卡顿优化01-CPU |
4.性能优化04-卡顿优化02-GPU |
5.性能优化05-卡顿优化03-卡顿检测 |
6.性能优化06-耗电优化 |
7.性能优化07-启动优化01-冷启动简介 |
8.性能优化08-启动优化02-分析 |
9.性能优化09-安装包瘦身 |
10.架构设计01-简介 |
11.架构设计02-MVC-Apple |
12.架构设计03-MVC-变种 |
13.架构设计04-MVP |
14.架构设计05-MVVM |
15.架构设计06-分层架构 |
16.架构设计07-设计模式简介 |
17.总结 |
「7项超值权益,保障学习质量」
- 大咖讲解
技术专家系统讲解传授编程思路与实战。
- 答疑服务
专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。
- 课程资料+课件
超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)
- 常用开发实战
企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。
- 大牛技术大会视频
2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。
- APP+PC随时随地学习
满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。
「什么样的技术人适合学习?」
- 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
- 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
- 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。
「悉心打造精品好课,56天学到大牛3年项目经验」
【完善的技术体系】
技术成长循序渐进,帮助用户轻松掌握
掌握iOS知识,扎实编码能力
【清晰的课程脉络】
浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。
【仿佛在大厂实习般的课程设计】
课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。
「你可以收获什么?」
为iOS开发者量身打造,深入研究iOS底层的方方面面。掌握了底层,你会发现其他的编程语言、操作系统平台在你眼里几乎都差不多,So easy。