在这种情况下,需要弱自己以避免保留周期
[self showMethodA:^{
[weakself showMethodB];
}];
这种情况会导致保留周期吗?
[super showMethodA:^{
[self showMethodB];
}];
答案 0 :(得分:3)
它会创建一个循环吗?仅当showMethodA将块存储为self时。
"超" vs." self"只影响调度,调用超类showMethodA而不是self自己的showMethodA。它不会影响周期。是否创建循环取决于showMethodA中的代码。
答案 1 :(得分:1)
是的,它会创建保留周期。
如果您实际存储了块,则只创建一个保留周期(因为self指向块,而block指向self)。
请参阅以下链接以获取更多信息: