gpt4 book ai didi

ios - 当 block 中的 weakSelf 为 nil 时,什么时候应该添加 strongSelf

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:44 24 4
gpt4 key购买 nike

通过在 block 中使用 weakSelf,你可以避免 retain cycle。但有时你应该保持 weakSelf 直到 block retain,因此你需要像 strongSelf 一样使用

__weak __typeof__(self) weakSelf = self;
dispatch_group_async(_operationsGroup, _operationsQueue, ^
{
__typeof__(self) strongSelf = weakSelf;
[strongSelf doSomething];
[strongSelf doSomethingElse];
} );

我想知道 weakSelf 何时为 nil ,然后我们应该添加 __strong typeof(self) strongSelf = weakSelf

最佳答案

示例:如果你的阿姨问你,“请在我出发前去市场购买雨伞”。你去了市场,很难找到一把雨伞。几个小时后,你终于找到了一把漂亮的雨伞,回到家却发现你的阿姨已经离开,你很难过。但这对你阿姨来说是正确的,因为飞行比雨伞更重要。

但是在您的编码问题中,您要做的是你去市场逛街,带上你阿姨的护照,这样她在你回来之前不会离开。

我想这很粗鲁,但如果您仍然想这样做,请使用 self 而不是 strongSelf

dispatch_group_async(_operationsGroup, _operationsQueue, ^
{
[self doSomething];
[self doSomethingElse];
} );

关于ios - 当 block 中的 weakSelf 为 nil 时,什么时候应该添加 strongSelf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com