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 回答