objective-c中的弱局部变量

时间:2015-03-05 11:59:23

标签: objective-c weak-references local-variables

我是Objective-C的新手,我想问一个关于将局部变量(和非属性实例变量)声明为_weak的问题。这样做是为了避免内存泄漏是一种好习惯吗?

1 个答案:

答案 0 :(得分:0)

例如,如果在块内使用强引用,则可能会发生内存泄漏或问题。最好在发布问题之前搜索SO。你还应该在这里阅读一个非常好的解释:Differences between strong and weak in Objective-C

如果要访问自身方法,例如,在块内,您可以定义为:

   __block id WeakSelf = self;

然后在你的街区内你可以打电话给:

   {  // -> inside block
   [WeakSelf dosomeFunction];
   } // <-  block ends