2011-08-01 13 views
0

私はiPadアプリケーションの作業に忙しく、私のWebサービスはかなりシンプルなJSONデータを返します。すべてがうまく見えますが、この同じ変換を他の方法で行うことはできますが、整数 - >文字列変換を行うときにランダムな文字列を返すメソッドが1つあります。乱数を与える文字列に対するObjective-cの整数?

下の私のuserdataオブジェクトは、SBJSONパーサーによって作成されたNSDictionaryです。私はこの

NSString *userId = [NSString stringWithFormat:@"%d", [userdata objectForKey:@"UserID"]]; 

を行うとき1.

がしかしのuserIdの値があるか、そのような23425234.私は、ランダム数であるように思われます:[「ユーザーID」@ユーザデータobjectForKey]のデバッグが値私の形式で%dを試しましたが、同じ結果が得られました。それはオブジェクトではなく、int型であるため、

+1

[userdata objectForKey:]はオブジェクトを返しません。つまり、整数ではありませんか?間にステップが必要なのでしょうか?または、それをNSString * userIDにまっすぐに割り当てますか? – onnoweb

+0

'userdata'にはどのようなオブジェクトを保存しますか? – sergio

+2

@typemismatch:型の不一致があります。 –

答えて

2

は、あなたがオブジェクトのアドレスを参照して、代わりに、あなたはそれを行うことができます。

NSString *userId = [NSString stringWithFormat:@"%@", [userdata objectForKey:@"UserID"]]; 
               ^
+0

あなたはそれを釘付けにしました、ありがとう - それは私を可能にするときに正しいとマークします。 – typemismatch

+0

@typemismatch - 私が助けることができてうれしい – MByD

2

をしてみてください

NSString *userId = [NSString stringWithFormat:@"%d", [[userdata objectForKey:@"UserID"] intValue]]; 

または:

NSString *userId = [NSString stringWithFormat:@"%@", [userdata objectForKey:@"UserID"]]; 

キーのオブジェクトはおそらくNSNumberであり、intではありません。

+0

ありがとう、私は余分な洞察に感謝する - 私はいつもこれらのものからオブジェクトを取得する覚えておいてください:) – typemismatch

関連する問題