2010-09-11 11 views
1

Je voudrais savoir comment, en Objective-C, savoir si une chaîne représente une valeur booléenne. La méthode [string boolValue] ne fonctionnera pas, car lorsque j'essaye d'analyser une chaîne comme [@"ERROR" boolValue], elle renvoie NO au lieu de lancer une exception. En C#, je pourrais faire quelque chose comme: if (Boolean.TryParse(string, out bool)), mais ce n'est pas disponible en Objective-C autant que je sache car le type BOOL n'est pas orienté objet. Dois-je écrire ma propre classe d'analyseur BOOL? Ou y a-t-il quelque chose qui me manque (NSScanner par exemple)?Objectif C try parse booléen

Répondre

5

Selon la documentation, boolValue "renvoie YES si vous rencontrez l'un des caractères" Y "," y "," T "," t "ou un chiffre compris entre 1 et 9: la méthode ignore les caractères de fin. le récepteur ne commence pas par une représentation textuelle décimale valide d'un nombre. "

Si vous cherchez quelque chose de différent, vous devrez écrire un petit utilitaire ou utiliser a category pour faire le travail.

Si c'est quelque chose de rapide, vous pouvez même utiliser la méthode -isEqualToString: de NSString.

+0

Donc, je dois faire mon propre analyseur personnalisé? –

+0

Je le ferais dans cette situation. –

+0

C'est ce que j'ai fait, et je crois que cela fonctionnera pour ma situation, merci pour la réponse. –