【发布时间】:2019-01-14 13:58:36
【问题描述】:
为什么新的 Xcode 版本会在块内使用 self 时发出警告。
警告:
Block 隐式保留'self';明确提及“自我”以表示 这是预期的行为
@interface ViewController : UIViewController {
NSString *myString;
}
当我们在变量名前加上 self-> 时,警告就会隐藏。
我看了rmaddy的answer中直接调用变量&self->没有区别
【问题讨论】:
-
查看最后一张截图:stackoverflow.com/a/49028910/1801544 之前的 XCode 版本没有实现,或者默认设置为 NO?
-
但较旧的 xcode 显示访问属性值的警告。如果在
.m文件中定义变量,旧的 xcode 不会显示警告。 -
但是 LLVM 版本是什么?可能是 XCode 新版本中的不同解析/检查。
-
苹果 LLVM 9.0。是的。正如@knightIdDragon 的回答,它给了我们关于保留的明确警告