美文网首页
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