Je regardais les vidéos de la WWDC 2010 et j'ai maintenant commencé à explorer les fonctionnalités de l'outil Construire et analyser dans xcode 3.2. C'est un excellent outil qui mettra en évidence les erreurs de codage (spécialement pour un nouveau venu comme moi!) Même si elles n'ont pas d'impact pendant l'exécution.xcode Créer et analyser des questions connexes
Mais il y a une chose que j'aurais besoin d'aide pour comprendre.
Lorsque je pousse un nouveau contrôleur de vue avec ce code:
SettingsViewController *nextController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
My_AppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.myNavController pushViewController:nextController animated:YES];
L'analyseur me dit qu'il ya une fuite de mémoire. Je peux comprendre cela d'une certaine façon, car j'alloue le NextController mais je ne le libère jamais. Mais si j'essaie de le libérer, mon application se bloque. Je n'obtiens aucune fuite lors de l'analyse avec Instruments sur le simulateur et le périphérique physique.
Apple arrêterait-elle cette application ou passerait-elle les tests?
Merci pour la proposition. Je l'ai testé et cela fonctionne très bien dans la construction et l'analyse et la première fois que je pousse le contrôleur. La deuxième fois que je le fais, l'application plante. Comment est-il avec autorelease et iOS? D'après ce que je comprends il n'y a pas de ramassage des ordures dans iOS, mais dans certains endroits, ils se réfèrent toujours à autorelease ... – Structurer
Je vous recommande fortement de lire le guide de programmation de gestion de la mémoire d'Apple. Je n'ai pas de lien à portée de main, mais il répondra à plus de questions que n'importe quel commentaire ici. – Justin