1

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

4

1 回答 1

5

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

如果您正在寻找不同的东西,您需要编写一个小实用程序或使用一个类别来完成工作。

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

于 2010-09-11T20:43:57.637 回答