J'ai travaillé sur un projet iPhone, où nous avons créé toute l'interface utilisateur par programmation dans le code. Maintenant, je vais commencer un nouveau projet iPhone et penser à utiliser Interface Builder à la place, car il m'a été recommandé comme un outil très utile, créant moins de mal de tête que d'écrire tout dans le code et en général beaucoup plus rapidement).iPhone: Interface Builder perd de la mémoire?
Cependant, les membres de mon équipe ont des préoccupations en raison de problèmes antérieurs liés à l'utilisation d'Interface Builder et des fuites de mémoire qui en résultent. Pour cela, ils suggèrent de tout reconstruire dans le code. Je ne sais pas d'où viennent ces préoccupations, mais peut-être que quelqu'un ayant plus d'expérience que nous avons peut donner un aperçu sur ce sujet.
Faire un Google search simple ne fournit pas vraiment d'informations prouvant qu'il y a des problèmes avec les fuites de mémoire créées par l'Interface Builder lui-même.
En regardant la official documentation d'Apple, je ne vois que ces trois choses que je dois prendre soin de:
@property (nonatomic, retain) IBOutlet UIUserInterfaceElementClass *anOutlet;
« Vous devriez alors soit synthétiser les accesseurs correspondants, ou les données selon le la déclaration, et (dans iPhone OS) libérer la variable correspondante dans dealloc. "
- (void)viewDidUnload {
self.anOutlet = nil;
[super viewDidUnload];
}
Tout ce que je manqué?
Merci Mark. C'est ce que j'ai trouvé dans la documentation officielle d'Apple (voir ma question éditée ci-dessus). Avez-vous eu une mauvaise expérience concernant les fuites de mémoire créées par Interface Builder lui-même. Ce qui signifie que quelque chose avec l'outil est faux plutôt qu'avec mon code? – znq
Je n'ai jamais rien vu avec l'outil lui-même, non. Chaque fuite de mémoire que j'ai rencontrée était due à ma propre erreur. – MarkPowell