web-dev-qa-db-fra.com

Renvoyer une NSString à partir d'une NSError

J'utilise la classe NSURLRequest dans mon application iPhone, et la méthode qui l'appelle renvoie une NSString, ce qui est très bien si la connexion passe correctement, mais le problème est que je dois convertir NSError en NSString pour pouvoir le renvoyer retournez ou exécutez des instructions if() dessus.

Des idées? :)

42
tarnfeld

-[NSError localizedDescription] .

(En outre, chaque objet ObjC hérité de NSObject implémente -description qui renvoie une chaîne NSString.)

78
kennytm

pour les nouveaux utilisateurs d’Objective C (moi), voici un exemple de code permettant à une réponse acceptée de "KennyTM" de fonctionner ->

[self showAlertWithTitle:@"Error:" withMessage:error.localizedDescription];
12
tmr

Vous pouvez essayer la méthode localizedDescription, qui retourne une chaîne.

Plus dans la docs .

7
Abizern

J'ai trouvé qu'il existe trois méthodes principales pour NSError :

  • erreur (NSInteger)
  • domaine (NSString)
  • userInfo (NSDictionary)
5
tarnfeld

Pour obtenir tous les détails de l'erreur:

NSError * err;
...
[NSString stringWithFormat:@"%@", err];
1
Julien-L