0

J'écris une application qui télécharge un UIImage sur mon serveur. Cela fonctionne parfaitement, car je vois les images ajoutées. J'utilise le UIImageJPEGRepresentation pour les données d'image et configure un NSMutableRequest. (Réglage url, méthode http, limite, les types de contenu et les paramètres)Téléchargement d'UIImage sur le serveur en utilisant UIImageJPEGRepresentation

Je veux afficher un UIAlertView lorsque le fichier est en cours de téléchargement et j'ai écrit ce code:

//now lets make the connection to the web 
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 

NSLog(@"return info: %@", returnString); 

if (returnString == @"OK") { 
    NSLog(@"you are snapped!"); 
    // Show message image successfully saved 
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"You are snapped!" message:@"BBC snapped your picture and will send it to your email adress!" delegate:self cancelButtonTitle:@"OK!" otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 
} 

[returnString release]; 

Les sorties ReturnString: 2010-04 -22 09: 49: 56.226 bbc_iwh_v1 [558: 207] return info: OK

Le problème est que mes instructions if ne disent pas returnstring == @ "OK" car je n'obtiens pas AlertView.

Comment devrais-je vérifier cette valeur de retour?

Répondre

2

Le problème est que ReturnString est un pointeur:

NSString * returnString; 

Quand vous dites:

if (returnString == @"OK") 

vous essayez de comparer deux pointeurs, pas deux cordes.

La bonne façon de comparer les chaînes est:

if ([returnString isEqualToString:@"OK"]) 
{ 
    //do what you want 
}