Objective-C ARC __weak变量引用触发警告"无法在自动变量上指定__weak属性"

And*_*rea 6 weak-references objective-c objective-c++ ios automatic-ref-counting

我有一个应用程序(只有ios5),在方法内部声明一个在块内使用的弱变量来引用一个视图控制器的实例.

 QRCodeViewController * __weak weakSelf = self;
Run Code Online (Sandbox Code Playgroud)

问题是编译器显示警告说:

无法在自动变量上指定__weak属性

在那个应用程序中我使用了很多弱引用,我从来没有看过这样的警告,与其他类的唯一区别是这个类是在.mm文件中实现的,因为它使用了c ++对象而项目无法编译如果我把它留作.m.
我必须说代码似乎工作正常.
有什么建议吗?

Dal*_*him 4

面对同样的警告,我通过以下方式使用 __block 属性使其消失:

__block __weak MyViewController* weakSelf = self;
Run Code Online (Sandbox Code Playgroud)