Si j'attache certains objets du constructeur d'interface à un autre objet en tant que variables d'instance, doivent-ils être libérés dans la méthode dealloc de l'objet parent? Le point important est que je déclare mes IBOutlets avec le codage de valeur-clé (@property) en mode (nonatomic, retain). Dans ma théorie, les objets IBOutlet sont créés lorsque la méthode initWithNibName: ... de mon contrôleur de vue est appelée et qu'elle est conservée par l'objet parent car j'ai implémenté une méthode @property en mode de conservation. Est-ce correct? Qu'en est-il si j'implémente la méthode en mode assigné?Objets IBOutlet Objective-c à libérer?
3
A
Répondre
2
Absolument correct. Vous devez libérer les propriétés (retain) dans dealloc, IBOutlet ou non. De cette façon, la gestion de la mémoire pour IBOutlets est clairement définie.
Si vous câblez des IBOutlets à partir d'objets déjà conservés (par exemple, des sous-vues de vues conservées), vous pouvez également utiliser (assigner) pour vos propriétés (et, bien sûr, ne pas les libérer dans dealloc).
Questions connexes
- 1. Libérer des objets à références multiples
- 2. Libérer plusieurs objets dans delphi
- 3. Comment libérer des objets COM liés tardivement?
- 4. Analyseur AMF0 dans ObjectiveC
- 5. IBOutlet en Python
- 6. Libérer CGImage (CGImageRef)
- 7. Dois-je libérer un IBOultet dans ma fonction dealloc?
- 8. IBOutlet n'est pas configuré dans le projet Cocoa MVC
- 9. Comment puis-je libérer ou libérer la mémoire allouée à un fichier .wav?
- 10. Comment libérer de la mémoire à partir de std :: deque?
- 11. vendrons vraiment libérer la mémoire s'il y a d'autres objets pointant vers elle?
- 12. Quand libérer l'objet NSUrlConnection
- 13. Aider avec le code GCC et ObjectiveC et Cygwin
- 14. Les instances IBOutlet sont (NULL) après le chargement de NIB
- 15. Est-ce qu'un IBOutlet doit être une propriété et synthétisé?
- 16. IBOutlet like construit dans l'environnement d'exécution Objective-C
- 17. Libérer un port TCP/IP?
- 18. Taille dll (déboguer et libérer)
- 19. Comment forcer SQLconnection à libérer une base de données?
- 20. Dans ObjectiveC, les pointeurs sont-ils des variables d'instance de classe initialisées à 'nil' ou non?
- 21. Comment déplacer des variables non statiques de l'interface à l'implémentation dans objectiveC?
- 22. Darwin et ObjectiveC - Comment appeler des scripts shell à partir d'une application Cocoa?
- 23. Comment libérer d'éventuels verrous Row de Postgres?
- 24. Comment libérer la mémoire associée par CGImageCreateWithImageInRect
- 25. allouer et libérer un char * en C++
- 26. Procédure stockée db2. verrouiller/libérer la table
- 27. Comment libérer une poignée via C#?
- 28. Comment libérer self (UIImageView) dans touchesEnded?
- 29. autres objets similaires à ajaxpro?
- 30. ne peut pas libérer objet sans écraser