2012-05-04 17 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 } 
関連する問題