很快,我正在解析xml文件并获取用户MD5密码。现在,当我在文本字段中比较解析的密码和用户给定的密码时,我发现Program received signal: “EXC_BAD_ACCESS”
当我不比较这些密码然后代码执行。这是我的代码。
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];
}
如果我需要提供更多信息,请不要犹豫,因为我遇到了严重的问题。
修改
当我使用NSLog
时...我可以看到两个字符串。
NSLog(@"The parsed pass: %@ and the user pass: %@ ",checkingParsedPassword, passwordMD5String);
但是当我尝试比较时,我在if
条件下获得了这些exc_bad_access
if([checkingParsedPassword isEqualToString:passwordMD5String]){
NSLog(@"checked");
}
答案 0 :(得分:1)
来自md5的转换后的密码可能不是UTF8string,因此请尝试在字符串中转换md5密码,例如
passwordMD5String=[NSString stringWithFormat:@"%@",passwordMD5String];
之前比较。
答案 1 :(得分:0)
您在tabbarController变量上调用-release
和-autorelease
(由于某种原因,它会在代码中间更改名称 - 您是否在发布时尝试清除它?)。< / p>