alloc探索思路

2020-11-18  本文已影响0人  扫地僧练级
先看一下下面三行代码
ZKCPerson *p1 = [ZKCPerson alloc];
ZKCPerson *p2 = [p1 init];
ZKCPerson *p3 = [p1 init];
思考一下:p1 p2 p3是不是同一个对象?

debug看一看打印结果:


20201118153406.jpg

结果:是一个

再思考一个问题:这三个指针地址是不是一样的呢?看下打印结果:
20201118153626.jpg
结果:不是一个

思考一个问题:alloc怎么创建的对象 alloc和init分别做了什么?

是不是瞬间想看看alloc是怎么实现的呢?不着急,接下来介绍三种常用的方法:

看见了objc_alloc。。。sure 就是这个,继续下去。。。


20201118160025.jpg

哈,看到了在这个库libobjc.A.dylib

未完待续。。。先关注一波

上一篇下一篇

猜你喜欢

热点阅读