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 の値で機能するためです。