位置 > 首页 > 图解小知识

委托是什么

委托 一个对象保存另一个对象的引用,被引用的对象实现了事先确定的协议,该协议用于将引用对象中的变化通知给被引用对象。 委托和委托方双方的property声明属性都是assign而不是retain为了避免循环引用造成的内存泄露循环引用的问题这样理解 比如在main函数中创建了两个类的对象A和B,现在引用计数是1。
现在让A和B互相引用A有一个属性是B对象,属性说明是retain;B有一个属性是A对象,属性说明是retain,现在两个对象的引用计数都增加1,都变成了2。现在执行[A releasw];[B release];此时创建对象的main函数已经**了自己对对象的所有权,但是此时A和B的引用计数都还是1,因为他们互相引用了。
这使你发现A和B将无法**,因为要想**A必须先**B,在B的dealloc方法中再**A。同理,想要**B必须先**A,在A的dealloc方法中再**B。所以这两个对象将一直存在内存中而不**,这就是所谓的循环引用的问题。


其实,在不经意间我们在悄然成长,并且懂了一些事情。

本站声明:本站部分文章来自网络,由用户上传分享,如若内容侵犯了您的合法权益,可联系我们进行处理。文章仅供大家学习与参考,不**本站立场。

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

相关图片
相关单图
热门图文标签
热门图片标签
热门词条推荐

精美图文推荐

上一篇 下一篇
作者信息
蝶残花落
(0)赞
2022-06-14 07:23:37
相关专辑
返回首页