Цель C попробуйте разобрать логическое значение - PullRequest
1 голос
/ 11 сентября 2010

Я хотел бы знать, как в Objective-C, как определить, представляет ли строка логическое значение. Метод [string boolValue] не будет работать, потому что, когда я пытаюсь проанализировать строку типа [@"ERROR" boolValue], он возвращает NO вместо того, чтобы выдавать исключение. В C # я мог бы сделать что-то вроде: if (Boolean.TryParse(string, out bool)), но это не доступно в Objective-C, насколько я знаю, потому что тип BOOL не является объектно-ориентированным. Должен ли я написать свой собственный класс парсера BOOL? Или мне чего-то не хватает (например, NSScanner)?

1 Ответ

5 голосов
/ 12 сентября 2010

Согласно документации, boolValue "возвращает YES при обнаружении одного из символов" Y "," y "," T "," t "или цифры 1-9 - метод игнорирует любые завершающие символы. Возвращает NOесли получатель не начинается с действительного десятичного текстового представления числа. "

Если вы ищете что-то другое, вам нужно написать небольшую утилиту или использовать категорию , чтобы выполнить работу.

Если это что-то быстрое, вы даже можете прибегнуть к использованию метода -isEqualToString: NSString.

...