为什么建议将_weak引用与委托一起使用

时间:2014-06-21 12:16:50

标签: ios iphone objective-c delegates retain-cycle

大家好,是否有人会详细说明为什么建议使用_weak参考代表而不是强引用?虽然我们也可以使用强大的代表参考。 有些人会用简单的方式告诉我更好的描述性示例在哪种情况下我们应该使用强引用,在哪种情况下我们应该为委托使用_weak引用。

我经历了一个关于堆栈溢出的相关问题

Is it ever Ok to have a 'strong' reference for a delegate?

但它没有正确理解我的概念。

任何帮助都将受到高度赞赏!!

感谢。

2 个答案:

答案 0 :(得分:3)

在委托上使用__strong非常容易创建保留周期:

假设A对B有强烈的引用,而某些对象将A设置为B的委托,如果强烈引用委托,则会形成保留周期。

答案 1 :(得分:0)

是的,在委托上使用__strong时创建一个保留周期是东部。

另外,在ARC中,我们使用弱委托,而使用委托的对象被释放,委托将自动为零。