如何在Objective-C中将NSString解析为BOOL?

时间:2012-01-17 16:29:31

标签: objective-c cocoa nsstring boolean

我正在使用Objective-C for iOS进行编程。我想将类型为NSString的对象解析为BOOL类型的标量。

我有一个值,我知道它将是@“YES”或@“NO”,但是YES(或)NO值是NSString,我只想将NSString更改为BOOL。

我该怎么做?

如果你知道,请回答我。

感谢阅读。

4 个答案:

答案 0 :(得分:148)

我认为就是这样:

BOOL boolValue = [myString boolValue];

答案 1 :(得分:22)

您应该使用NSString的{​​{3}}。直接引用文档:

  

[返回t]接收者文本的布尔值。返回YES   遇到“Y”,“y”,“T”,“t”或数字1-9中的一个 - 方法   忽略任何尾随字符。如果接收者没有,则返回NO   以数字的有效十进制文本表示开头。

这似乎与您的输入案例相符。

答案 2 :(得分:2)

if ([string isEqualToString: @"YES"])
  foo();
else
  bar();

答案 3 :(得分:0)

这可能最好用条件解决,例如:

if ([myString isEqualToString:@"YES"])
    myBool = YES;
else if ([myString isEqualToString:@"NO"])
    myBool = NO;

希望这对你有所帮助,祝你的节目顺利。