使用“isEqual”来比较布尔类型

时间:2014-01-25 03:19:47

标签: objective-c

如何将布尔返回soap与布尔值进行比较,如“false”。我试过这些:

if ([id isEqual:false]){
        [self ShowMsg];
    }

或者

if ([id isEqualToValue:false]) {
        [self ShowMsg];
    }

或者

if (id == false){  
        [self ShowMsg];
    }

“id”信息来自Soap请求,例如:

SoapRequest* _request = [SoapRequest create: _target action: _action service: self soapAction: @"http://tempuri.org/MyClass" postData: _envelope deserializeTo: @"Boolean"];

然而,当我进行这些比较时,他们无论如何也无法工作。

感谢。

2 个答案:

答案 0 :(得分:1)

布尔值是原始值。在Objective-C中它有YES和NO。 如果你想比较Bool值,那么对于真实条件你应该是,

if ([yourServerBoolValue boolValue]){ //Compiler understand  [yourServerBoolValue boolValue] == YES
        [self ShowMsg];
}

用于检查NO / false条件

if (![yourServerBoolValue boolValue]){ //Compiler understand  [yourServerBoolValue boolValue] == NO
            [self ShowMsg];
    }

答案 1 :(得分:0)

Bool在Obj-C中是原始的,为了比较它们,只需使用==运算符或!=运算符,这里有一些示例:

if(booleanName == YES)
{
     //Do something, the boolean is true
}

if(booleanName != YES)
{
     //Do something, the boolean is false
}