问题:我正在尝试从字典中检索NSNumber,但检索时存储在字典中的long值会被清除为0。
下面的代码将 NSNumber 变量time_of_update
传递到字典中。 time_of_update
具有来自时间戳的长值,并且永远不为零。当尝试从字典中读取time_of_update
作为NSNumber而不是将其转换为long时出现问题。结果始终为零,而不是最初设置的时间戳值。
NSMutableDictionary *_update = [NSMutableDictionary dictionaryWithObjectsAndKeys:time_of_update,@"time",nil];
NSLog(@"Output: %ld",[[_update objectForKey:@"time"] longValue]);
答案 0 :(得分:2)
我打赌你的词典中较早的其他内容是零。当发生这种情况时,随后的所有内容最终都会被忽略。所以在你的下一行中,[_ updatedateForKey:@“time”]可能是nil,它将long变为0。
当您使用NSLog()[_更新objectForKey:@“time”]时,它是否为零?