iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化—236人已学习
课程介绍
得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术不断的更新和升级,更快帮助职场人士在开发领域脱颖而出。远程视频教学,无须长途奔袭,碎片化时间学习,成长随时随地!
课程收益
为iOS开发者量身打造,深入研究iOS底层的方方面面。掌握了底层,你会发现其他的编程语言、操作系统平台在你眼里几乎都差不多,So easy。
讲师介绍
李明杰 更多讲师课程
小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh、MJExtension),目前在国内的使用率非常高。
课程大纲
第1章:OC对象的本质
1. OC对象的本质01-OC和C_C++ 6:13
2. OC对象的本质02-将OC转换为C_C++ 8:15
3. OC对象的本质03-NSObject的内存本质 7:02
4. class_getInstanceSize、malloc_size 11:44
5. OC对象的本质05-回答面试题 7:18
6. OC对象的本质06-窥探NSObject的内存 12:11
7. OC对象的本质07-Student的本质 10:37
8. OC对象的本质08-Student的内存布局 11:54
9. OC对象的本质09-更复杂的继承结构 14:42
10. OC对象的本质10-属性和方法 8:14
11. OC对象的本质11-答疑 10:14
12. OC对象的本质12-内存分配注意点 13:14
13. OC对象的本质13-alloc的size分析 9:21
14. OC对象的本质14-libmalloc源码 14:00
15. OC对象的本质15-glibc源码 8:46
16. OC对象的本质16-sizeof注意点 7:22
第2章:OC对象的分类
1. OC对象的分类01-instance对象 10:44
2. OC对象的分类02-class对象 8:11
3. OC对象的分类03-meta-class对象 13:38
4. OC对象的分类04-object_getClass内部实现 15:04
5. OC对象的分类05-答疑 7:09
第3章:isa和superclass
1. isa和superclass01-isa 16:23
2. isa和superclass02-class的superclass 8:44
3. isa和superclass03-meta-class的superclass 6:00
4. isa和superclass04-总结01 25:17
5. isa和superclass05-总结02 18:09
6. isa和superclass06-isa细节 19:08
7. isa和superclass7-class和meta-class的结构 30:47
8. isa和superclass08-答疑 7:10
第4章:KVO
1. KVO01-基本使用 16:05
2. KVO02-存在的疑问 7:43
3. KVO03-本质分析 18:50
4. KVO04-本质验证 18:37
5. KVO05-窥探Foundation 15:23
6. KVO06-内部调用流程 5:15
7. KVO07-子类的内部方法01 12:20
8. KVO08-子类的内部方法02 8:36
9. KVO09-总结-答疑 11:37
10. KVO10-补充 7:06
第5章:KVC
1. KVC01-基本使用 9:08
2. KVC02-设值的原理 18:47
3. KVC03-取值的原理 10:00
第6章:Cateogry
1. Cateogry01-基本使用 11:45
2. Cateogry02-底层结构 19:07
3. Cateogry03-源码分析01 19:16
4. Cateogry04-源码分析02 26:01
5. Cateogry05-memmove、memcpy区别 5:03
6. Cateogry06-答疑 8:11
7. Cateogry07-load01-基本使用 13:34
8. Cateogry08-load02-调用原理 12:30
9. Cateogry09-load03-调用顺序 24:52
10. Cateogry10-initialize01-基本使用 15:54
11. Cateogry11-initialize02-源码分析 18:28
12. Cateogry12-initialize03-注意点 22:46
13. Cateogry13-load、initialize总结 9:25
第7章:关联对象
1. 关联对象01-分类添加属性 10:52
2. 关联对象02-使用字典完善属性 9:44
3. 关联对象03-使用字典存在的问题 7:03
4. 关联对象04-基本用法 15:14
5. 关联对象05-key的用法 19:25
6. 关联对象06-答疑 5:50
7. 关联对象07-底层数据结构01 9:12
8. 关联对象08-底层数据结构02 24:30
第8章:block
1. block01-基本认识 23:58
2. block02-底层数据结构 22:16
3. block03-变量捕获01-auto变量 9:04
4. block04-变量捕获02-static变量 13:04
5. block05-变量捕获03-全局变量 23:49
6. block06-类型01 18:40
7. block07-类型02 25:07
8. block08-答疑 8:20
9. block09-copy 20:21
10. block10-对象类型的auto变量01 17:14
11. block11-对象类型的auto变量02 18:15
12. block12-对象类型的auto变量03 16:43
13. block13-__block01-修改变量 6:21
14. block14-__block02-本质 16:41
15. block15-__block03-细节 18:13
16. block16-__block04-内存管理01 17:41
17. block17-__block05-内存管理02 10:54
18. block18-__block06-forwarding 6:23
19. block19-__block07-内存管理03 10:07
20. block20-__block08-内存管理04 16:38
21. block21-循环引用01-问题 15:45
22. block22-循环引用02-ARC01 11:22
23. block23-循环引用03-ARC02 6:24
24. block24-循环引用04-MRC 5:56
25. block25-总结-答疑 13:33
第9章:Runtime
1. Runtime01-简介 8:11
2. Runtime02-isa01-简介 6:45
3. Runtime03-isa02-需求 10:27
4. Runtime04-isa03-取值 20:32
5. Runtime05-isa04-设值 10:20
6. Runtime06-isa05-位域 18:49
7. Runtime07-isa06-共用体 24:06
8. Runtime08-isa07-总结 24:32
9. Runtime09-isa08-位运算补充 19:55
10. Runtime10-isa09-细节 19:36
11. Runtime11-方法01-Class的结构 23:15
12. Runtime12-方法02-method_t 10:02
13. Runtime13-方法03-Type Encoding 11:35
14. Runtime14-方法04-cache_t 13:54
15. Runtime15-方法05-散列表缓存 24:22
16. Runtime16-方法06-查看缓存01 14:23
17. Runtime17-方法07-查看缓存02 23:53
18. Runtime18-objc_msgSend01-简介 11:56
19. Runtime19-objc_msgSend02-消息发送01 23:16
20. Runtime20-objc_msgSend03-消息发送02 11:29
21. Runtime21-objc_msgSend04-动态方法解析01 21:09
22. Runtime22-objc_msgSend05-动态方法解析02 14:17
23. Runtime23-objc_msgSend06-动态方法解析03 4:21
24. Runtime24-objc_msgSend07-消息转发01 10:17
25. Runtime25-objc_msgSend08-消息转发02 12:11
26. Runtime26-objc_msgSend09-消息转发03 20:04
27. Runtime27-objc_msgSend10-消息转发04 17:16
28. Runtime28-objc_msgSend11-消息转发05 15:10
29. Runtime29-objc_msgSend12 16:31
30. Runtime30-super01 7:25
31. Runtime31-super02 22:07
32. Runtime32-答疑 10:57
33. Runtime33-class面试题01 11:52
34. Runtime34-class面试题02 18:12
35. Runtime35-super面试题01 8:40
36. Runtime36-super面试题02 15:41
37. Runtime37-super面试题03 29:19
38. Runtime38-super面试题04 12:55
39. Runtime39-super面试题05 16:13
40. Runtime40-答疑 5:15
41. Runtime41-LLVM的中间代码 16:13
42. Runtime42-API01-类 26:31
43. Runtime43-API02-成员变量01 7:05
44. Runtime44-API02-成员变量02 12:33
45. Runtime45-API02-成员变量03 27:48
46. Runtime46-API03-方法01 8:15
47. Runtime47-总结 10:17
48. Runtime48-API03-方法02 26:24
49. Runtime49-API03-方法03 24:04
第10章:RunLoop
1. Runloop01-基本认识 12:13
2. Runloop02-获取RunLoop对象 12:56
3. Runloop03-CFRunLoopModeRef 18:02
4. Runloop04-CFRunLoopModeRef的成员 9:52
5. Runloop05-CFRunLoopObserverRef 17:22
6. Runloop06-答疑 8:08
7. Runloop07-执行流程图 13:26
8. Runloop08-源码分析 22:50
9. Runloop09-调用细节 8:52
10. Runloop10-休眠的细节 11:42
11. Runloop11-NSTimer失效 16:58
12. Runloop12-线程保活01 11:35
13. Runloop13-线程保活02 6:23
14. Runloop14-线程保活03 17:04
15. Runloop15-线程保活04 15:41
16. Runloop16-答疑 4:29
17. Runloop17-线程保活05 22:45
18. Runloop18-线程保活06 4:10
19. Runloop19-线程的封装01-接口设计 13:39
20. Runloop20-线程的封装02-内部实现 17:22
21. Runloop21-线程的封装03-C语言方式实现 14:20
22. Runloop22-答疑 3:17
第11章:多线程
1. 多线程01-基本概念 12:16
2. 多线程02-gcd01 9:01
3. 多线程03-gcd02 11:51
4. 多线程04-gcd03 16:07
5. 多线程05-gcd04 9:34
6. 多线程06-面试题01 15:09
7. 多线程07-GNUstep 9:22
8. 多线程08-面试题02 5:15
9. 多线程09-GCD队列组 8:23
10. 多线程10-安全隐患分析 22:11
11. 多线程11-OSSpinLock01 24:53
12. 多线程12-OSSpinLock02 10:45
13. 多线程13-OSSpinLock03 19:30
14. 多线程14-答疑 5:01
15. 多线程15-os_unfair_lock 10:13
16. 多线程16-pthread_mutex01 13:51
17. 多线程17-pthread_mutex02-递归锁 19:12
18. 多线程18-自旋锁、互斥锁汇编分析 19:05
19. 多线程19-pthread_mutex03-条件 27:53
20. NSLock、NSRecursiveLock、NSCondition 20:29
21. 多线程21-答疑 1:52
22. 多线程22-遗留问题解决 25:40
23. 多线程23-NSConditionLock 17:10
24. 多线程24-SerialQueue 8:00
25. 多线程25-semaphore01-最大并发数量 8:25
26. 多线程26-semaphore02-线程同步 10:38
27. 多线程27-@synchronized 17:19
28. 多线程28-同步方案性能对比 14:26
29. 多线程29-自旋锁、互斥锁对比 14:25
30. 多线程30-atomic 18:12
31. 多线程31-读写安全01-简介 14:23
32. 多线程32-读写安全02-pthread_rwlock 9:47
33. 多线程33-读写安全03-barrier_async 12:02
第12章:内存管理
1. 内存管理01-定时器01 16:51
2. 内存管理02-定时器02 2:52
3. 内存管理03-定时器03 15:05
4. 内存管理04-定时器04 14:57
5. 内存管理05-NSProxy补充 8:00
6. 内存管理06-GCD定时器01 17:22
7. 内存管理07-GCD定时器02 17:20
8. 内存管理08-GCD定时器03 15:09
9. 内存管理09-内存布局 19:02
10. 内存管理10-Tagged Pointer01 19:54
11. 内存管理11-Tagged Pointer02 16:15
12. 内存管理12-Tagged Pointer03 5:44
13. 内存管理13-Tagged Pointer04 14:25
14. 内存管理14-MRC01 10:06
15. 内存管理15-MRC02 15:41
16. 内存管理16-MRC03 15:19
17. 内存管理17-MRC04 10:43
18. 内存管理18-MRC05 7:24
19. 内存管理19-copy01 9:43
20. 内存管理20-copy02 21:22
21. 内存管理21-copy03 5:37
22. 内存管理22-copy04 15:09
23. 内存管理23-copy05 11:38
24. 内存管理24-copy06 9:13
25. 内存管理25-引用计数的存储 9:37
26. 内存管理26-weak指针的原理 19:49
27. 内存管理27-autorelease原理01 11:42
28. 内存管理28-autorelease原理02 17:31
29. 内存管理29-autorelease原理03 16:05
30. 内存管理30-autorelease原理04 8:59
31. 内存管理31-autorelease原理05 5:50
32. 内存管理32-RunLoop与autorelease01 9:42
33. 内存管理33-RunLoop与autorelease02 17:04
第13章:性能优化
1. 性能优化01-CPU和GPU 5:56
2. 性能优化02-产生卡顿的原因 5:29
3. 性能优化03-卡顿优化01-CPU 11:09
4. 性能优化04-卡顿优化02-GPU 8:53
5. 性能优化05-卡顿优化03-卡顿检测 4:59
6. 性能优化06-耗电优化 14:16
7. 性能优化07-启动优化01-冷启动简介 6:41
8. 性能优化08-启动优化02-分析 10:30
9. 性能优化09-安装包瘦身 12:07
10. 架构设计01-简介 4:45
11. 架构设计02-MVC-Apple 16:23
12. 架构设计03-MVC-变种 21:12
13. 架构设计04-MVP 12:56
14. 架构设计05-MVVM 11:20
15. 架构设计06-分层架构 12:25
16. 架构设计07-设计模式简介 4:02
17. 总结 6:37
大家可以点击【 查看详情】查看我的课程