美文网首页
OC反汇编

OC反汇编

作者: king_jensen | 来源:发表于2019-02-06 22:16 被阅读6次

    OC对象在内存中的存储

    4B2B0A7DAC2B140C722CCF7D8DFE99F6.png

    ARC下对象的管理

    1932485EAE43B8E756060F3D3C312635.png

    汇编中,编译器调用了objc_storeStrong方法,在objc源码中,查看该方法的实现

    void
    objc_storeStrong(id *location, id obj)
    {
        id prev = *location; 
        if (obj == prev) {
            return;
        }
        objc_retain(obj);
        *location = obj;
        objc_release(prev);
    }
    

    实现很简单,首先和之前的引用相比判断是不是同一个引用,是的话就return;否则的话就对obj对象进行retain,并且释放location之前的引用(也就是说location指针不再指向之前的对象,要把之前对象引用计数减1)。

    相关文章

      网友评论

          本文标题:OC反汇编

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