72 votes

XCode 4 avertissement « Résultat de l’Expression non utilisé » pour NSURLConnection

Je suis juste en train de faire mon habituel du transfert des données. Je définis mon NSMutableURLRequest puis appeler

[[NSURLConnection alloc] initWithRequest:request delegate:self];

Cette habitude d'être ok avec Xcode 3 mais Xcode 4 me prévient à propos de "résultat de l'Expression inutilisés" sur cette ligne. La demande ne fonctionne pas mais je voudrais trouver un moyen de se débarrasser de l'avertissement.

Je suppose que j'ai pu enregistrer la connexion dans une variable, mais je n'ai pas vraiment besoin et je ne vois pas le point de paramètre nil la ligne suivante (bien que ce serait de supprimer l'avertissement)

Note: je ne suis pas sûr à 100% si c'est XCode 4 ou le fait de l'ARC est activé.

Merci beaucoup pour votre aide!

182voto

progrmr Points 32412

Lorsqu’une fonction retourne un résultat qui vous n’avez pas besoin vous pouvez transtyper d’annuler pour éliminer l’avertissement du compilateur :

Je n’ai pas utilisé ARC encore donc je ne peux pas dire que si c’est une bonne idée, avant ARC vous devez garder ce résultat pointeur quelque part donc il pourrait libérer.

34voto

Elliot Points 2237

réponse de progrmr est correcte, mais voici un moyen encore plus propre de le faire :

``

Cela ne cause pas un avertissement, même si vous ne pas jeter le résultat d’uriner.

3voto

thomas Points 3739

Quelqu'un doit être responsable de l' NSURLConnection. Il n'est pas nécessaire pour stocker la connexion, mais il est préférable de codage, si vous le faites. Le problème est que, après que vous avez créé notre NSURLConnection n on a un pointeur vers cette instance créée qui ne devrait pas être le cas.

Considérons l'exemple suivant:

  1. votre instance de ClassA est la création d'un instane d' NSURLConnection
  2. votre instance de ClassA est être libéré et dealloced
  3. NSURLConnection est toujours vivant et fera feu de l'délégué à votre libéré instance.

Pour résoudre ce problème, vous devez stocker l'instance de NSURLConnection et devrait publier cette connexion, si votre instance de ClassA est dealloced qui résultats dans la désallocation de l'instance de NSURLConnection .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X