0

サーバーからJSON応答として取得した辞書を使用しようとしています。辞書の説明を印刷すると、すべてが整然としています

    Printing description of dict:
{
    category = 1;
    code = 1;
    name = "xxxx";
    pictureUrl = "xxxx";
    sessionId = xxx;
    status = 0;
}

「code」値が必要ですが、objectForKey:@ "code"を使用して取得すると、間違った値が取得されます。

int code = [NSDictionary objectForKey:@"code"];

この後、コードの値と3483765348のようなものを出力しますが、これは非常に間違っています。

なぜこうなった?

4

5 に答える 5

7

返されるオブジェクトは NSNumber であり、int (オブジェクトではありません) ではありません。int 値が必要な場合は、これを試してください

int code = [[myDictionary objectForKey:@"code"] intValue];
于 2013-03-01T10:31:39.377 に答える
3

問題を解決するために使用される次のコードを試してください。コードに従って、int値に変換する必要がある値のみを返します。このコードを使用してください

int code = [[NSDictionary objectForKey:@"code"]intValue];

お役に立てれば !!!

于 2013-03-01T10:49:39.737 に答える
0

-objectForKey:を返しませんintが、代わりにオブジェクトを返します(タイプの場合NSNumber)。

NSNumber *code = [myDict objectForKey:@"code"];
NSInteger codeInteger = [code integerValue];
于 2013-03-01T10:30:58.727 に答える
0
int code = [[yourResultingDictionary objectForKey:@"code"] intValue];

お役に立てればと思います。

于 2013-03-01T10:31:09.480 に答える
0

オブジェクト キーは配列値に対してのみ返されるため、キー パスには値を使用します。

user_idstr = [tweet valueForKeyPath:@"properties.user_id"];
于 2013-03-01T10:53:54.240 に答える