Objective C尝试解析布尔值

时间:2010-09-11 19:51:37

标签: objective-c parsing nsstring boolean tryparse

我想知道如何在Objective-C中判断字符串是否表示布尔值。 [string boolValue]方法不起作用,因为当我尝试解析像[@"ERROR" boolValue]这样的字符串时,它返回NO而不是抛出异常。在C#中,我可以执行类似:if (Boolean.TryParse(string, out bool))的操作,但据我所知,这在Objective-C中不可用,因为BOOL类型不是面向对象的。我是否必须编写自己的BOOL解析器类?或者是否有我遗漏的东西(例如NSScanner)?

1 个答案:

答案 0 :(得分:5)

根据文档,boolValue“遇到”Y“,”y“,”T“,”t“或数字1-9之一时返回YES-该方法忽略任何尾随字符。如果接收者没有以数字的有效十进制文本表示开头,则返回NO。“

如果您正在寻找不同的东西,您需要编写一个小工具或使用a category来完成工作。

如果它快速,你甚至可以使用NSString的-isEqualToString:方法。