2016-08-12 1 views
1

Je suppose que je ne comprends pas comment la mémoire se désaffecte correctement dans Swift et c'est pourquoi je voulais demander ceci: Si je crée un message à l'utilisateur en utilisant un UIView avec une étiquette. Je le montre avec une animation, puis j'utilise ".removeFromSuperview()". Quand est-ce que la mémoire est désaffectée? Quelles sont les conditions pour la désaffecter? Je demande parce que si elle ne libère pas avant la fermeture de l'application - cela signifie que pour l'exécution de l'application - chaque message affiché puis caché va prendre de la mémoire sans raison valable.Comment "nettoyer" correctement un UIView retiré de Superview dans Swift? - IOS

Merci pour tous ceux qui explique :)

Répondre

3

Vues maintiennent une référence forte à leurs sous-vues. Une fois la sous-vue supprimée, la vue supérieure renonce à cette référence. Si vous n'avez pas d'autres références fortes, le nombre de retenues sera réduit à zéro et la vue sera libérée.

+0

merci pour la réponse rapide. je voulais juste m'assurer que cela n'affecte pas la performance si je ne garde pas de référence forte – MarkosDarkin