为什么新的Xcode版本会给出有关在块内使用self的警告

时间:2018-08-07 12:58:54

标签: xcode compiler-warnings

为什么新的Xcode版本会在块内使用self发出警告。

警告:

  

块隐式保留了“自我”;明确提及“自我”以表示   这是故意的行为

@interface ViewController : UIViewController {
     NSString *myString;
}

当我们在变量名前加上self->时,警告会隐藏。

我读到在rmaddy的answer中直接调用变量和self->之间没有区别

1 个答案:

答案 0 :(得分:2)

这实际上是一个很好的警告,因此我可以看到他们将标记翻转。人们经常会不小心将自己挡在块中,从而形成保持周期。此警告通知开发人员您可能有一个可能的保留周期。

基本上,如果您看到self,那么您知道该块正在保留它;而如果您没有看到self,您可能会乍一看以为您使用的是本地变量。