美文网首页
property声明中weak的runtime实现机制

property声明中weak的runtime实现机制

作者: 向小暖_he | 来源:发表于2019-03-20 14:16 被阅读0次

    之前看的面试题,只是简单的property关键字weak的作用是什么?最常见的用法又是什么?答案呢,千篇一律。

    比如:作用就是不造成强引用,不影响指针所指向对象的生命周期。

                用来声明delegate。

    其实,本质是:

    runtime对注册的类进行管理,将weak作为value,用weak指向的对象的内存地址作为key,存入hash表。当weak指向对象的retainCount为0时,对象会被放入待销毁的autoreleasePool,当pool中对象接收到pop以及release的消息时,会以对象的内存地址作为key,在hash表中搜索,以该key存储的weak,然后进行删除操作。

    

相关文章

网友评论

      本文标题:property声明中weak的runtime实现机制

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