我有一个应用程序(仅限 ios5),它在方法内声明了一个在 block 内使用的弱变量,以引用 View Controller 的实例。
QRCodeViewController * __weak weakSelf = self;
问题是编译器显示警告说:
__weak attribute cannot be specified on an automatic variable
在那个应用程序中我使用了很多弱引用而且我从来没有看到这样的警告,与其他类的唯一区别是这个类是在.mm 文件中实现的,因为它使用 c++ 对象并且项目可以如果我将其保留为 .m,则编译。
我必须说代码似乎工作正常。
有什么建议吗?
最佳答案
面对同样的警告,我通过以下方式使用 __block 属性使其消失:
__block __weak MyViewController* weakSelf = self;
关于Objective-C ARC __weak 变量引用触发警告 "__weak attribute cannot be specified on an automatic variable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088604/