suchen

Heim  >  Fragen und Antworten  >  Hauptteil

objective-c - block内存管理的问题

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

非常常用的一个动画block.

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

PHP中文网PHP中文网2828 Tage vor771

Antworte allen(3)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-24 16:02:38

    所谓“引用循环”是指双向的强引用,所以那些“单向的强引用”(block 强引用 self )没有问题

    建议看以下链接,第39题,说的非常详细
    《招聘一个靠谱的iOS》面试题参考答案

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-24 16:02:38

    如果是arc不会

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-04-24 16:02:38

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

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

    Antwort
    0
  • StornierenAntwort