recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

非常常用的一个动画block.

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

PHP中文网PHP中文网2828 Il y a quelques jours773

répondre à tous(3)je répondrai

  • 曾经蜡笔没有小新

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

    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"

    répondre
    0
  • 过去多啦不再A梦

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

    Pas si c'est un arc

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-04-24 16:02:38

    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.

    répondre
    0
  • Annulerrépondre