我觉得可以按照这样一条路线学习和梳理Runloop的知识:
Runloop <– 多线程并发 <– block <– 内存管理 <– 指针、引用计数、深浅拷贝
理由:
Runloop是基于线程的,Runloop是一种循环机制,但是又不同于while这类循环的同步机制,Runloop可以让线程不“死”,但是又可以让线程“闲”着,如果某条件满足的情况下,又可以让Runloop结束,要满足这些要求,使用同步机制肯定是不行的,所以必须要使用多线程,因此理解好Runloop是一定要掌握好多线程并发开发;
在实际开发中,多线程并发编程基本上是与block回调一起使用的,因此为了掌握好多线程,block的技能少不了;
使用block就绕不开“循环引用”这个问题,想充分理解引用等相关问题,就需要把内存管理的知识清晰梳理好,理解好;
内存管理分为MRR和ARC,但是不管哪种管理模式,基本的框架思维是不变的,把“指针”、“引用计数”、“深浅拷贝”这些知识理解到位了,分析到位了,内存管理的知识基本也就掌握了。