2012-05-04 151 views
3

我从使用字典的json对象获得布尔值。在控制台,我可以看到0或1. 但是我的比较总是返回true。ios比较来自json的布尔值

BOOL *result =[dictionary valueForKey:@"result"]; 

     if (result == YES) { 

      [parser release]; 
     } 
     else { 
      errorLbl.text = @"Login failed"; 
     } 

回答

1

您需要转换字典中的值。您不能直接将它翻译为BOOL *BOOL指针)。

假设你从你的字典得到NSString*,你可以这样做:

NSString *result = [dictionary valueForKey:@"result"]; 
if ([result boolValue]) { 
    [parser release]; 
} else { 
    errorLbl.text = @"Login failed"; 
} 

假设你可以使用boolValue message与协议。

+0

如何转换??? – user2514963

+0

boolValue在哪里? – user2514963

+0

@ user974459:'boolValue'是一条可传递给'NSString'类的消息。看看我放的链接。 –

3

你有没有试过在[dictionary valueForKey:@"result"]boolValue]的末尾添加一个boolValue;

+0

去哪添加?如何添加? – user2514963

+0

以下是我所做的:BOOL * result = [[dictonary objectForKey:@“result”] boolValue];而不是你有的结果线 – CBredlow

0

尝试用下面的代码,我

BOOL success = [[jsonDict objectForKey:@"success"] boolValue]; 
if (success == YES){ //Do some stuff } else{ //Do some stuff }