在这种情况下调用,weakself需要避免保留周期自身内部块中,通过超
[self showMethodA:^{
[weakself showMethodB];
}];
请问这种情况会导致保留周期?
[super showMethodA:^{
[self showMethodB];
}];
在这种情况下调用,weakself需要避免保留周期自身内部块中,通过超
[self showMethodA:^{
[weakself showMethodB];
}];
请问这种情况会导致保留周期?
[super showMethodA:^{
[self showMethodB];
}];
是的,它会创建保留周期。
如果您实际存储了块(因为自己指向块并且块指向自己),您只会创建一个保留循环。
请参考以下链接了解更多信息:
不会创建一个循环?只有showMethodA将该块存储到自身中。
“超级”与“自我”只影响调度,调用超类showMethodA而不是自己自己的showMethodA。它不影响周期。并且是否创建循环取决于showMethodA中的代码。
请告诉我自我指向我们看到的代码中的块的位置。 – gnasher729