Tag: retain cycle

在不使用ARC时替代__weak

我有这样的代码行: __weak NSBlockOperation *weakOperation = operation; 这是触发这个编译器错误: __weak attribute cannot be specified on automatic variable. 原因是我没有启用ARC(尚未准备好进行切换)。 所以从另一个StackOverFlow问题,我被推荐使用: __unsafe_unretained NSBlockOperation *weakOperation = operation; 这使得错误消失,但对于我使用它的上下文,它不工作(如果感兴趣,请参阅此问题: 如何取消NSOperationQueue )。 所以我的问题是,在这个例子中,我可以用__weak关键字替代__weak这个警告? 当我使用__weak ,所有的东西都能正确的工作,但是恐怕它不能支撑未来版本的iOS。