gpt4 book ai didi

iphone - 无法解释的“强烈捕获 self ”警告

转载 作者:行者123 更新时间:2023-12-01 17:55:59 24 4
gpt4 key购买 nike

我将许多方法放在块中,在下一个内部触发一个,以便将某些数据与Web服务同步。其中大多数行为完全正常,但是一种方法在调用后不会让我提及self,这给了我capturing self strongly in this block is likely to lead to a retain cycle警告。

这就是我的意思:

[self deleteEntriesCorrespondingToDeletedNotesInNotebook:notebook success:^{
[self deleteNotesToMatchDeletedEntriesWithCompletion:^{
[self deleteResourcesToMatchDeletedMediaItemsWithCompletion:^{
[self addOrUpdateEntriesCorrespondingToUpdatedNotesInNotebook:notebook success:^{
//Anything calling a property or self after this point is a problem and gives the warning
[self addOrUpdateNotesCorrespondingToUpdatedEntriesWithCompletion:^{

}];
}failure:^{

}];
}];
}];
}failure:^{

}];

为什么只有通过这一点的项目对此有任何想法?如果我将之前的方法替换为另一种类似的方法,则没有问题。该问题仅在使用 addOrUpdateEntriesCorrespondingToUpdatedNotesInNotebook:后才存在。

最佳答案

您的所有方法都可能“表现良好”或创建保留周期,具体取决于它们
用完成块来做。

如此处所述:Blocks retain cycle from naming convention?,clang编译器使用命名约定来决定是否发出
是否警告:所有方法add...set...(但不是addOperationWithBlock!)
引起警告,其他方法则不会。

关于iphone - 无法解释的“强烈捕获 self ”警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567300/

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