block内存管理的问题

[UIView animateWithDuration:0.2 animations:^{
    self.movingView.transform = CGAffineTransformMakeTranslation(200, 0);
}];

非常常用的一个动画block.

那么,在动画 block 中使用了成员变量,会导致 retain cycle 吗?

阅读 4.1k
3 个回答

如果是arc不会

如果是arc,那就会产这个问题~mrc不会。

因为你用的成员变量对编译器来说是这样子的:self->member。所以在arc模式下,虽然只是用了成员变量,其实也有self指向这个变量,仍然有内存泄露的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进