繁体   English   中英

两个弱变量可以创建一个保留周期吗?

[英]Can two weak variables create a retain cycle?

在ARC中,如果A对B的引用很强,而B对A的引用很强,则会有一个保留周期。

下面的代码还会创建保留周期吗?

    __weak MyClass *weakSelf = self;
    [self doSomething:^{

        weakSelf.someVariable = YES;

        [weakSelf doSomething:^{

            weakSelf.someVariable = YES;
        }];

    }];

使用ARC,会复制weakSelf指针,但由于它是弱指针,因此指针的副本不会导致保留计数增加。 因此,不,它不会创建保留周期。

不,不会。 实际上,如果您不保留该对象,并且由于某种原因在MyClass对象被释放后将调用该块,则会导致运行时崩溃

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM