为什么新的Xcode版本会发出关于在块中使用self的警告。
警告:
Block隐式地保留"self";明确提及"self"以表示这是的预期行为
@interface ViewController : UIViewController {
NSString *myString;
}
当我们在变量名前面加上self->
时,警告就会隐藏。
我读到直接调用变量&rmaddy回答中的self->
这实际上是一个很好的警告,所以我可以看到他们在翻转标志。通常情况下,人们会意外地将自己保留在区块中,从而产生保留循环。此警告会通知开发人员,您可能会发生保留周期。
基本上,如果你看到self
,那么你就知道块在保留它,而如果你没有看到self
,你可能会第一眼以为你在使用局部变量。