NSNumber 允许的最高 int 是多少?我已经在这些论坛的其他地方看到了答案,因此我在这里深感困惑。
int miles = 35000;
vehicle.mileage = [NSNumber numberWithInt:miles];
NSLog(@"int value = %d", miles);
NSLog(@"mileage = %@", vehicle.mileage);
输出是:
int value = 35000
mileage = -30536
我必须在这里错过一些可怕的简单,但是有人可以向我解释为什么这不能正常工作吗?
更新: 进一步查看后,vehicle.mileage 被正确设置为 35000,但是当我通过 NSLog(@"%@", vehicle.mileage) 显示它时,它的输出不正确。当它停止工作时,我还没有找到“神奇”值,因为到目前为止,它适用于高达 ~30,000 的值。