我有这行代码:
__weak NSBlockOperation *weakOperation = operation;
这是触发此编译器错误:
__weak attribute cannot be specified on automatic variable.
原因是我没有启用 ARC(还没有准备好进行切换)。所以从另一个 StackOverFlow 问题中,我被推荐使用:
__unsafe_unretained NSBlockOperation *weakOperation = operation;
这使错误消失了,但是对于我正在使用它的上下文,它不起作用(如果有兴趣,请参阅此问题:如何取消 NSOperationQueue)。
所以我的问题是,在这种情况下我可以用什么替换__weak
关键字来消除这个警告?当我使用 时,一切实际上都正常工作__weak
,但我担心它不会支持未来版本的 iOS。