美文网首页
OC底层01:alloc底层分析

OC底层01:alloc底层分析

作者: ZAREMYDREAM | 来源:发表于2020-09-07 16:24 被阅读0次

开发中,我们经常使用到[[xxx alloc] init],但却没有真正理解过alloc,init,现在进行深入了解一下。

alloc,init的功能

1.先看看这样的一个例子
//创建一个Person类,然后引用对应头文件
        Person *p1 = [Person alloc];
        Person *p2 = [p1 init];
        Person *p3 = [p1 init];
        
        NSLog(@"%p-%p", p1, &p1);
        NSLog(@"%p-%p", p2, &p2);
        NSLog(@"%p-%p", p3, &p3);
运行结果如图: 运行结果
  • p1,p2,p3的指向地址都相同
  • p1,p2,p3的地址不同
2.alloc与init的关系如图
  • alloc生成对象地址。
  • init分配指针地址,并指向对象地址

alloc流程

需要看到alloc流程,可到苹果开源网站下载。
如果要将源码进行编译调试,可参见

相关文章

网友评论

      本文标题:OC底层01:alloc底层分析

      本文链接:https://www.haomeiwen.com/subject/mnqlektx.html