Lorsque la connexion IBAction est invoquée, elle est censée utiliser une réponse de SOAP Web Services soit vrai soit faux, faux signifiant que l'utilisateur n'est pas autorisé à utiliser l'application. Je l'ai en utilisant ces instructions si après avoir reçu la réponse, mais pour une raison quelconque, il fonctionne à la fois vrai et faux ifs.Pourquoi l'iPhone exécute-t-il ces deux instructions if dans un fichier contrôleur .m?
{
[soapResults appendString: string];
NSLog(soapResults);
if (soapResults = @"true")
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:soapResults delegate:self cancelButtonTitle:@"Try Again",nil otherButtonTitles:nil];
[alert show];
[alert release];
[soapResults release];
soapResults = nil;
[loginIndicator stopAnimating];
loginIndicator.hidden = TRUE;
loggedinLabel.text = usernameField.text;
loggedinLabel.textColor = [UIColor blackColor];
NSLog(@"Valid Login");
}
if (soapResults = @"false")
{
NSLog(@"Invalid Login");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:soapResults delegate:self cancelButtonTitle:@"Try Again",nil otherButtonTitles:nil];
[alert show];
[alert release];
[soapResults release];
soapResults = nil;
[loginIndicator stopAnimating];
loginIndicator.hidden = TRUE;
}
}
S'il vous plaît Aide
[soapResults isEqualTo: @ "true"] peut-être? –
Bon oeil! Quoi qu'il en soit, en ce qui concerne la comparaison: mieux utiliser [soapResults isEqualToString: @ "true"] sinon il sera toujours faux (car le signe égal n'est pas un bon moyen de comparer les chaînes en Obj-C). –
Merci Aviad, mon obj-c est rouillé. Je mettrai à jour le post avec votre mention. – ryanb