工作中遇到复杂度高的项目系统,我惯于花时间梳理出大手稿,作为参考,根据这个思路,我花时间对于OC底层的机制进行梳理,产出大手稿若干。
跟工作中遇到的种种困难比起来,看源码真是一件So Easy的事情啊。
1. iOS 类相关的结构体
别动,你包里是啥?
Update1:最近有空了,写了另一篇文章,Kitchen Tools That Cook Loves,可以看看那篇里面对于 arrayListTT和EntsizeTT的解释。
Update2:更新了rwe。
2. NSObject alloc init 发生了什么???
额....唠嗑吗?...
3. dealloc 是干嘛的?
切,创建对象我不会,滴饿唠嗑,还不简单吗?
4. msgSend
对不起,您现在变成一个Invocation了。啊?为啥你自己心里没数吗?
5. dyld_start
人生若只如 dyld_start......
6. classLoader
——从头开始吧,我说。
从哪个头?dyld?OCInit?main?
——哦,*、
OC?好吧,献丑了!
NFY: load_images 没有写玩,空缺了一块,其实这块逻辑很简单,就是通过 masSend(可能是) 调用了 load() 方法。
21. GCD Create Queue
Oh ~! My queue!!!
22. GCD sync async ...
组员:组长!我看懂了!你上个写队列,这个写函数,那你下个写的肯定是Block任务!
组长:行,任务我不写了。
23. synchronized
你要是想分手,就果断一点!身为一个前端,Clang,你真是个栅栏。。。
24. GCD Group
组长,为啥每次大领导来视察,你就让我像这样,给你打电话?你去哪儿了?