对IBOutlet使用强引用会导致内存泄漏吗?

时间:2014-04-30 23:57:32

标签: objective-c automatic-ref-counting

对IBOutlet使用强引用会导致内存泄漏吗?除了文件所有者之外,Apple建议对IBOutlet使用weak,但如果对所有IBOutlet使用strong,会发生什么?

1 个答案:

答案 0 :(得分:1)

如果您使用ARC,几乎不可能导致内存泄漏。那是ARC的一部分!为了在ARC下造成内存泄漏,你必须做一些特别的事情,比如一个强大的属性,指的是一个具有强大属性的东西(保留周期)。

这可能发生,但在这种情况下是不可能的;你有没有IBOutlet可能会留住你。您当然可以在视图控制器和从该视图控制器加载的nib实例化的视图之间形成一个保留周期;但不要。即使ARC也无法阻止你故意在脚下拍摄自己。

所以,是的,对于IBOutlet使用strong 可以导致问题,但只是出于使用strong 始终导致问题的相同原因:如果您滥用它,你可以导致保留周期。所以不要滥用它!