J'essaie de résoudre mon premier problème EXC_BAD_ACCESS. Je vois de nombreux tutoriels et blogs que je peux utiliser Zombies pour m'aider à comprendre où je me trompe. Mais je ne pense pas que mes zombies fonctionnent, et je ne comprends absolument rien de la console.Impossible de faire fonctionner les Zombies en XCode
Quand je commence le programme que je vois ceci: This GDB was configured as "x86_64-apple-darwin".Setting environment variable "NSZombieEnabled" to null value.
Finalement, je vois quelques traces NSLog je puis:
Program received signal: “EXC_BAD_ACCESS”.
aucune aide. Des idées? Je soupçonne que même avec les zombies qui travaillent, il ne sera pas en mesure de me dire où le mauvais accès est arrivé. Objectif C me rend triste - Cela aurait pris 3 secondes dans ActionScript :(
Vous dites que le crash est ici (modifier la question la prochaine fois):
- (IBAction) toggleView{
if(switchableView.subviews.count != 0)
[[switchableView.subviews objectAtIndex:0] removeFromSuperview];
UIViewController* newView = (viewSelector.selectedSegmentIndex == 0) ? [Login new] : [UserRegistration new];
[switchableView addSubview:newView.view];
//[newView release];
}
Merci pour cela, je suppose que je pensais que le checkmark était une représentation raisonnable de oui. J'ai trouvé mon problème, mais je ne peux pas comprendre la solution. – pseudopeach
Ce n'est pas toujours facile à trouver, grâce à la magie d'autorelease. Quand ceux-ci mordent, le backtrace n'est pas toujours utile. –
Voici ce qui aide. Utilisez Instruments, exécutez avec Object Alloc. Arrêtez votre application, puis appuyez sur le petit «i» dans l'instrument ObjectAlloc et activez la détection NSZombie avec les comptages de référence. Ensuite, appuyez sur "enregistrer", votre application sera exécutée (faire cela dans le simulateur) et quand vous obtenez le "mauvais accès", il marquera dans l'outil Instruments avec une flèche - appuyez dessus et vous verrez chacun conserver et libérer contre cette objet. –