我正在使用Objective-C for iOS进行编程。我想将类型为NSString的对象解析为BOOL类型的标量。
我有一个值,我知道它将是@“YES”或@“NO”,但是YES(或)NO值是NSString,我只想将NSString更改为BOOL。
我该怎么做?
如果你知道,请回答我。
感谢阅读。
答案 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;
希望这对你有所帮助,祝你的节目顺利。