Je veux comprendre dans quels cas je dois me soucier de la gestion de la mémoire quand il s'agit de propriétés. J'ai noté quelque chose d'un site dont je ne me souviens plus, où ils ont dit que si une propriété a une valeur autre que NSNumber ou NSValue, et si elle n'a pas de setter, alors UIKit relèverait automatiquement l'ancienne valeur et conserverait la nouvelle. Bien que je ne comprends pas pourquoi UIKit définirait n'importe quoi s'il n'y a pas setter (directement à la valeur, je devine).Si ma propriété n'a pas de setter (en lecture seule), est-il vrai que UIKit conserve la valeur si ce n'est pas NSNumber ou NSValue?
2
A
Répondre
0
Si la propriété est déclarée comme:
@property(retain) NSString *prop;
Il libérera l'ancienne valeur lorsque vous attribuez un nouveau.
Cependant, assurez-vous que vous relâchez votre méthode de dealloc ainsi:
- (void)dealloc {
[prop release];
[super dealloc];
}
0
Vous devez (re) lire le Memory Management Guide for Cocoa. Les règles de gestion de la mémoire pour les propriétés sont les mêmes que pour tous les autres objets.
Questions connexes
- 1. Une liaison TwoWay ou OneWayToSource ne peut pas fonctionner sur la propriété en lecture seule
- 2. JSTL: vérifie si la propriété n'existe pas
- 3. propriété en lecture seule
- 4. « Lecture seule » propriété accesseur en C#
- 5. Modèle Django si la balise ne fonctionne pas sous FastCGI lors de la vérification bool Vrai
- 6. TextField obtient FocusEvent type = "focusIn" même si ce n'est pas vrai
- 7. Comment définir la valeur d'une propriété en lecture seule avec des getters et setters génériques?
- 8. Que se passe-t-il si vous ne renvoyez pas de valeur en C++?
- 9. Le membre statique ne conserve pas la valeur affectée
- 10. opération jQuery Tricky, pas sûr si j'utilise « cette » propriété soit
- 11. Est-ce que IDbCommand, IDataReader ou DataTable perdent des ressources si Dispose n'est pas appelé?
- 12. XmlSerializer et Collection propriété avec setter privé
- 13. Si ce n'est pas un singleton, alors quoi?
- 14. Django: Savoir si la propriété est la valeur par défaut
- 15. La propriété de dépendance ne fonctionne pas, en essayant de définir le style setter
- 16. Puis-je créer une propriété de dépendance en lecture seule?
- 17. Est-ce que ce setter est 'diabolique'
- 18. Comment pouvez-vous savoir si une page de mémoire est marquée en lecture seule?
- 19. Est-ce que addSubview de UIView conserve vraiment la vue?
- 20. Procédure stockée SQL 2005 pour renvoyer une valeur ou la créer si elle n'existe pas
- 21. Est-ce que x86 a un incrément atomique qui conserve la valeur qui a été stockée?
- 22. La table ne conserve pas la sélection
- 23. Est-ce que Rijndael lance toujours une exception si le mot de passe n'est pas correct?
- 24. Débogage Xcode: Afficher la valeur de NSNumber?
- 25. Asp.Net - Rediriger si JavaScript est pas activé
- 26. Comment vérifier si NetStream est en cours de lecture
- 27. Comment vérifier si la valeur d'un attribut n'est pas nulle ou si la longueur des caractères dans la valeur d'un attribut est supérieure à 0
- 28. Comment rendre une propriété d'interface facultative en lecture seule dans VB.NET?
- 29. Comment vérifier si une cellule est en lecture seule dans EXCEL en utilisant C#
- 30. Remplacer une valeur si null ou indéfini en JavaScript