2012-01-23 2 views
1

En peu de temps, je suis en train d'analyser un fichier XML et d'obtenir le mot de passe MD5 de l'utilisateur. Maintenant quand je compare le mot de passe analysé et le mot de passe donné par l'utilisateur dans un champ de texte alors je trouve Program received signal: “EXC_BAD_ACCESS”Signal reçu du programme: "EXC_BAD_ACCESS". alors que - [parsedxmlstring isEqualToString: textviewstring]?

quand je ne compare pas entre ces mot de passe alors le code execute.Here est mon code.

if([checkingParsedPassword isEqualToString:passwordMD5String]){ 
tabbarController = [[TabbarController alloc] initWithNibName:@"TabbarController" bundle:nil]; 
UINavigationController *myTabbarController = [[[UINavigationController alloc] initWithRootViewController:tabbarController] autorelease]; 
myTabbarController.navigationBar.barStyle = UIBarStyleBlackOpaque; 
[self.navigationController presentModalViewController:myTabbarController animated:YES]; 
[tabbarController release];  
} 

Si je dois vous donner plus d'informations alors s'il vous plaît n'hésitez pas parce que je suis en grave problème.

EDIT

quand je suis en utilisant NSLog ... je peux voir à la fois la chaîne.

NSLog(@"The parsed pass: %@ and the user pass: %@ ",checkingParsedPassword, passwordMD5String); 

mais lorsque je tente de comparer alors je suis arrivé ces EXC_BAD_ACCESS sur if état

if([checkingParsedPassword isEqualToString:passwordMD5String]){ 
    NSLog(@"checked"); 
} 
+0

Quelle est la différence entre 'tabbarController' &' myTabbarController'? – Kjuly

+0

en fait j'ai raté mon code.J'ai mis à jour mon code. –

+0

Eh bien, où avez-vous déclaré votre 'tabbarController'? Je pense que vous l'avez déclaré dans votre fichier '.h', si c'est le cas, vous devez le libérer dans la méthode' dealloc' au lieu d'ici. – Kjuly

Répondre

1

Le mot de passe converti de md5 pourrait ne pas être un UTF8String, essayez donc de convertir le mot de passe md5 dans une chaîne comme

passwordMD5String=[NSString stringWithFormat:@"%@",passwordMD5String]; 

avant de comparer.

+0

oui je l'ai converti et je peux obtenir ces deux valeur 'passwordMD5String' et' checkingParsedPassword' en utilisant 'nslog'. –

+0

Pouvez-vous essayer de mettre en pause et dites-moi la ligne sur laquelle il plante, parce que votre code semble être correct. –

+0

sans condition "si" cela fonctionne très bien mais quand j'utilise "si" alors il me montre ce problème –

0

Vous appelez à la fois -release et -autorelease sur la variable tabbarController (qui change de nom au milieu du code pour une raison quelconque - essayiez-vous de le nettoyer en postant?).

+0

C'était mon erreur. Maintenant, j'ai modifié mon code. –

Questions connexes