[UIView animateWithDuration:0.2 animations:^{
self.movingView.transform = CGAffineTransformMakeTranslation(200, 0);
}];
非常常用的一个动画block.
那么,在动画 block 中使用了成员变量,会导致 retain cycle 吗?
曾经蜡笔没有小新2017-04-24 16:02:38
いわゆる「参照サイクル」は双方向の強参照を指すため、「一方向の強参照」(強参照自身をブロックする)は問題ありません
次のリンク、質問 39 を読むことをお勧めします。これは非常に詳細です
「信頼できる iOS の採用」面接の質問の参考回答
phpcn_u15822017-04-24 16:02:38
arcの場合、この問題は発生します〜mrcでは発生しません。
使用するメンバー変数はコンパイラーにとって次のように見えるためです: self->member.したがって、arc モードではメンバー変数のみが使用されますが、実際には self がこの変数を指しているため、メモリ リークの問題が依然として残ります。