iOS底层原理探索—NSObject的alloc 源码分析

2021-04-19  本文已影响0人  十年开发初学者

这篇文章与上一片文章区别在于,NSObject中的alloc自定义类中的alloc源码流程的区别。

NSObject的alloc无法进入源码

探索NSObject中的alloc为什么不走alloc

image.png

通过汇编代码得知[NSObject alloc]走的是objc_alloc方法

image.png

探索[NSObject alloc][Animal alloc]的区别

1.经过断点调试发现Animal中的alloc调用了两次,即调用alloc源码后,还会走到objc_alloc,调用callAlloc两次

image.png

2.至于NSObject中alloc 走到 objc_alloc的 原因这是系统所自动调用的。

结论:
1.[NSObject alloc]执行流程

image.png
2.自定义类的alloc执行流程
image.png
上一篇 下一篇

猜你喜欢

热点阅读