当我尝试使用大于 -2 且小于 13 的数字的 numberWithLongLong 创建 NSNumber 时,它会返回一个转换为 (int) 的数字。
如果我在跨过我的线路后查看 Xcode 调试器,我会看到这一点。
NSNumber* numberA = [NSNumber numberWithLongLong:-2]; //Debugger shows as (long)-2
NSNumber* numberB = [NSNumber numberWithLongLong:-1]; //Debugger shows as (int)-1
NSNumber* numberC = [NSNumber numberWithLongLong:12]; //Debugger shows as (int)12
NSNumber* numberD = [NSNumber numberWithLongLong:13]; //Debugger shows as (long)13
为了把我的问题放在上下文中,我使用一个 long long 值作为一个纪元日期,我最终将使用 BSON 序列化并通过线路发送到 Web 服务。Web 服务要求日期为 java Long。
提前致谢