Objective c 更改NSN编号的值

Objective c 更改NSN编号的值,objective-c,Objective C,是否有一种方法可以在创建NSNumber后更改其中包含的值,而不使其指向其他NSNumber NSNumber *num = [NSNumber numberWithInt:0]; num = [NSNumber numberWithInt: 1]; // now num points to a different object, which I don't want. I want it the same object still, but different value. NSNumber

是否有一种方法可以在创建NSNumber后更改其中包含的值,而不使其指向其他NSNumber

NSNumber *num = [NSNumber numberWithInt:0]; num = [NSNumber numberWithInt: 1]; // now num points to a different object, which I don't want. I want it the same object still, but different value. NSNumber*num=[NSNumber NUMBER WITHINT:0]; num=[NSNumber numberwhithint:1];//现在num指向另一个对象,这是我不想要的。我希望它仍然是相同的对象,但不同的值。
不,您不能更改NSNumber的值


例如,请参见。

NSNumber是不可变的。实际上,它是NSValue的一个子类,所有NSValue都是不可变的。

有一点奇怪,没有NSMutableNumberNot,通常当您想要一个“可变”的数字时,您会使用原语。NSNumber对于序列化、作为字典键以及类似的东西更有用。@MarcCharbonneau有些时候你肯定希望数字是可变的。我刚刚遇到一个。。。结果只是将我的数字存储在一个NSMutableString中(我不必费心定义自己的类来将一个可变整数存储在一个不可变的NSDictionary中)。