我想知道在 Objective-C 中如何判断一个字符串是否代表一个布尔值。该[string boolValue]
方法不起作用,因为当我尝试解析一个字符串时,[@"ERROR" boolValue]
它返回 NO 而不是抛出异常。在 C# 中,我可以执行以下操作:if (Boolean.TryParse(string, out bool))
,但据我所知,这在 Objective-C 中不可用,因为该BOOL
类型不是面向对象的。我必须编写自己的BOOL
解析器类吗?还是我缺少什么(NSScanner
例如)?
问问题
1921 次
1 回答
5
根据文档,boolValue
“在遇到“Y”、“y”、“T”、“t”或数字 1-9 之一时返回 YES——该方法忽略任何尾随字符。如果接收者没有,则返回 NO以数字的有效十进制文本表示开始。”
如果您正在寻找不同的东西,您需要编写一个小实用程序或使用一个类别来完成工作。
如果它很快,你甚至可以求助于使用 NSString 的-isEqualToString:
方法。
于 2010-09-11T20:43:57.637 回答