我在块中有许多方法,在下一个中触发一个,以便将一些数据与 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:
。