在這種情況下調用,weakself需要避免保留週期自身內部塊中,通過超
[self showMethodA:^{
[weakself showMethodB];
}];
請問這種情況會導致保留週期?
[super showMethodA:^{
[self showMethodB];
}];
在這種情況下調用,weakself需要避免保留週期自身內部塊中,通過超
[self showMethodA:^{
[weakself showMethodB];
}];
請問這種情況會導致保留週期?
[super showMethodA:^{
[self showMethodB];
}];
是的,它會創建保留週期。
如果您實際存儲了塊(因爲自己指向塊並且塊指向自己),您只會創建一個保留循環。
請參考以下鏈接瞭解更多信息:
不會創建一個循環?只有showMethodA將該塊存儲到自身中。
「超級」與「自我」隻影響調度,調用超類showMethodA而不是自己自己的showMethodA。它不影響週期。並且是否創建循環取決於showMethodA中的代碼。
請告訴我自我指向我們看到的代碼中的塊的位置。 – gnasher729