Objective c 使用;“等质量”;比较布尔类型的步骤
如何将布尔返回soap与布尔值(如“false”)进行比较。我试过这些:Objective c 使用;“等质量”;比较布尔类型的步骤,objective-c,Objective C,如何将布尔返回soap与布尔值(如“false”)进行比较。我试过这些: if ([id isEqual:false]){ [self ShowMsg]; } 还是这个 if ([id isEqualToValue:false]) { [self ShowMsg]; } if (id == false){ [self ShowMsg]; } 还是这个 if ([id isEqualToValue:false]) {
if ([id isEqual:false]){
[self ShowMsg];
}
还是这个
if ([id isEqualToValue:false]) {
[self ShowMsg];
}
if (id == 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"];
然而,当我进行这些比较时,它们无论如何都不起作用
谢谢。布尔值是原始值。在目标C中,它有是和否。 如果您想比较中的布尔值,那么对于真实条件,您的代码应该是
if ([yourServerBoolValue boolValue]){ //Compiler understand [yourServerBoolValue boolValue] == YES
[self ShowMsg];
}
用于检查否/错误条件
if (![yourServerBoolValue boolValue]){ //Compiler understand [yourServerBoolValue boolValue] == NO
[self ShowMsg];
}
布尔在Obj-C中是基本的,要比较它们,只需使用
=
运算符或=代码>运算符,以下是一些示例:
if(booleanName == YES)
{
//Do something, the boolean is true
}
if(booleanName != YES)
{
//Do something, the boolean is false
}
SoapRequest
类是什么样子的?另外,不要使用==
或=代码>使用布尔常量…在Objective-C代码中实际上没有名为id
的变量,是吗?那还可以编译吗<代码>id
是Objective-C中的一种类型。感谢您的回复。不,我像一个例子一样使用了“id”,但是变量的名称是另一个。id是一个关键字(通用数据类型),您不能将变量名称作为id。我尝试过使用这个例子,但它没有编译,错误是“不允许使用ARC将int隐式转换为id”。我从我的soap web服务收到的返回是@“false”…这是完整的一个:-(void)ExampleHandler:(id)returno{if(returno!=YES){[self ShowMsg];}}感谢您的回复。它不起作用。这是完整的类:-(void)ExampleHandler:(id)returno{if(![returno YES]){[self ShowMsg];}}您的代码与@Reformer的答案不同。请尝试if(![retrono boolValue])…
。我已经尝试过了,但错误是:“预期标识符”:if(![retrono YES]){[self exibealertadeemailjacadstrado];}或:if(![retrono true]){[self exibealertadeemailjacadstrado];}非常抱歉!好了,现在我有主意了!完美的它已经奏效了。即使我将返回请求设置为“NSString”。。。非常感谢。