3

辞書を使用してjsonオブジェクトからブール値を取得しました。コンソールでは、0 または 1 が表示されます。しかし、私の比較では常に true が返されます。

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

        if (result == YES) {

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

3 に答える 3

3

の最後に boolValue を追加しようとしましたか[dictionary valueForKey:@"result"]boolValue];

于 2012-05-04T18:38:16.477 に答える
1

ディクショナリから値を変換する必要があります。BOOL *(BOOLポインター)に直接変換することはできません。

辞書からを取得したと仮定するとNSString*、次のことができます。

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

プロトコルでboolValueメッセージを使用できると仮定します。

于 2012-05-04T18:37:32.857 に答える
0

以下のコードを試してみてください。

BOOL success = [[jsonDict objectForKey:@"success"] boolValue];
if (success == YES){ //Do some stuff } else{ //Do some stuff }
于 2016-01-08T05:30:51.090 に答える