为什么新的Xcode版本会在块内使用self发出警告。
警告:
块隐式保留了“自我”;明确提及“自我”以表示 这是故意的行为
@interface ViewController : UIViewController {
NSString *myString;
}
当我们在变量名前加上self->
时,警告会隐藏。
我读到在rmaddy的answer中直接调用变量和self->之间没有区别
答案 0 :(得分:2)
这实际上是一个很好的警告,因此我可以看到他们将标记翻转。人们经常会不小心将自己挡在块中,从而形成保持周期。此警告通知开发人员您可能有一个可能的保留周期。
基本上,如果您看到self
,那么您知道该块正在保留它;而如果您没有看到self
,您可能会乍一看以为您使用的是本地变量。