objective-c - block内存管理的问题
PHP中文网
PHP中文网 2017-04-24 16:00:38
0
3
759
[UIView animateWithDuration:0.2 animations:^{
    self.movingView.transform = CGAffineTransformMakeTranslation(200, 0);
}];

非常常用的一个动画block.

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

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(3)
曾经蜡笔没有小新

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

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

过去多啦不再A梦

如果是arc不会

phpcn_u1582

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage