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
1
A
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.
Donc, je dois faire mon propre analyseur personnalisé? –
Je le ferais dans cette situation. –
C'est ce que j'ai fait, et je crois que cela fonctionnera pour ma situation, merci pour la réponse. –