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

非常常用的一个动画block.

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

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(3)
曾经蜡笔没有小新

Le soi-disant « cycle de référence » fait référence à une référence forte bidirectionnelle, il n'y a donc aucun problème avec ces « références fortes unidirectionnelles » (bloquer le soi de référence forte)

Il est recommandé de lire le lien suivant, question 39, qui est très détaillé
Réponses de référence aux questions d'entretien "Recruter un iOS fiable"

过去多啦不再A梦

Pas si c'est un arc

phpcn_u1582

S'il s'agit d'un arc, alors ce problème se produira ~ mrc ne le fera pas.

Parce que la variable membre que vous utilisez ressemble à ceci pour le compilateur : self->member. Par conséquent, en mode arc, même si seules les variables membres sont utilisées, self pointe en fait vers cette variable et il existe toujours un problème de fuite de mémoire.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal