使用Weak变量而不是强变量的好处

时间:2016-06-13 11:13:09

标签: ios objective-c automatic-ref-counting

任何人都可以向我提供以下链接或信息:

为什么weak变量与强变量相比是有益的?

{p}和IBOutlets中的ARC应该是weak还是strong?为什么委托也被定义为弱财产?

提前致谢。

3 个答案:

答案 0 :(得分:0)

像世界一样弱的弱者保留对象,当它释放为零时,我们可以避免保留周期。 IBOutlets属性,因为视图已保留它,因此无需再次强大保留它。

答案 1 :(得分:0)

strong:为其分配传入值,它将保留传入值并释放实例变量的现有值

weak:将传入的值分配给它而不保留它。

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/EncapsulatingData/EncapsulatingData.html#//apple_ref/doc/uid/TP40011210-CH5-SW3

答案 2 :(得分:-2)

Apple目前推荐的最佳做法是IBOutlets ,除非明确需要以避免{{1} }。

一般情况下,你应该让你的出口强大,特别是如果你要将一个插座连接到retain cycle或一个并不总是会被保留的约束。 subview。您真正需要设置出口的唯一时间是,如果您有view hierarchy引用某些内容备份视图层次结构,并且通常不推荐这样做。