我有这行代码:
__weak NSBlockOperation *weakOperation = operation;
该触发此编译器错误:
__weak attribute cannot be specified on automatic variable.
这样做的原因是我没有ARC启用(不准备作出这样的转变,只是还没有)。 因此,从另一个StackOverflow上的问题,我建议使用:
__unsafe_unretained NSBlockOperation *weakOperation = operation;
这使得错误消失,但我使用它的背景下,它不工作(见这个问题,如果有兴趣: 如何取消NSOperationQueue )。
所以我的问题是,我可以替代__weak
在这种情况下关键字摆脱这种警告? 实际上一切都正常工作时,我使用__weak
,但恐怕它不会托起过的iOS的未来版本。