gpt4 book ai didi

iphone - 当成功 block 启动时,__block 弱崩溃

转载 作者:行者123 更新时间:2023-11-29 04:30:44 25 4
gpt4 key购买 nike

我很难理解这一点:

__block __weak MyCell *weakSelf = self;
[NetworkManager profileImageForUser:id success ^(UIImage *image, NSString *userId){
weakSelf.leftImageView.image = image;
}];

问题是,当 MyCell 被释放并启动成功 block 时,它会崩溃,并显示无法识别的选择器已发送到实例。我该如何处理这个问题?

最佳答案

发生此崩溃的原因是,weakSelf 没有被 block 保留,这可能是在对象释放后异步执行的。

为什么在这里使用__block?这就是您的问题的原因。

仅当您要从 block 内部修改相关对象时才需要 __block。 __block 还可以防止 block 保留对象的行为。由于您没有更改weakSelf的VALUE(仅更改其属性),因此不应使用__block,以便该 block 将保留该对象,从而在需要时将其保留在内存中,从而防止崩溃。

关于iphone - 当成功 block 启动时,__block 弱崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769504/

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