如果某个块仅使用self调用方法,是否需要将其弱化以防止保留周期?
这不是另一篇文章的重复,我不是在询问是否需要在UIView动画块中完成,而是在self块只调用方法调用时是否需要完成。我也添加了一个dispatch_async示例。
@weakify(self);
// Need to strongify?
dispatch_async(dispatch_get_main_queue(), ^{
@strongify(self);
[self doSomething];
});
// Need to strongify?
[UIView animateWithDuration:0.125 animations:^{
@strongify(self);
[self layoutIfNeeded];
}
答案 0 :(得分:2)
在这种情况下,您不需要削弱,因为该块不会被自己保留。所以没有保留周期。
Do we need to use __weak self inside UIAnimationBlocks in ARC?