具有UInt64值的NSDictionary

时间:2015-08-01 17:40:22

标签: objective-c macos nsdictionary

为什么我的sessionRef不会被NSDictionary中的字符串视为? 调试器显示正确的东西,但似乎NSDictionary自动将其转换为int。

有人知道这个伎俩吗?

enter image description here

  

更新:

虽然sessionRef在调试打印中看起来像一个整数,但它确实有效。由于下面的代码在反转JSON时起作用。

NSDictionary *d = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
self.sessionRef = [[d valueForKey:@"sessionref"] longLongValue];

2 个答案:

答案 0 :(得分:1)

没有诀窍。

仅当字符串包含空格(以及一些其他特殊字符)时,才会显示NSDictionary描述的字符串值的双引号。

答案 1 :(得分:1)

description使用的Objective-C NSLog()方法受到幻想,它没有引用它认为不需要引用的内容WRT NStrings。请注意,NSDictionary不能包含整数,只能包含对象。

请注意,变量errormessage是必需的,因为它有一个嵌入的空格字符。只有Apple知道他们为什么这样做。