改变NSNumber的值

Boo*_*oon 30 objective-c

有没有办法在创建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.

mmc*_*mmc 42

NSNumber是不可变的.实际上,它是NSValue的子类,所有NSValues都是不可变的.

  • @MarcCharbonneau肯定有时候你想要一个数字是可变的.我刚刚遇到一个......最后只是将我的号码存储在一个NSMutableString中(我不能打扰定义我自己的类只是为了在一个不可变的NSDictionary中存储一个可变整数). (4认同)
  • 没有 NSMutableNumber 有点奇怪 (2认同)

Naa*_*aff 10

不,你不能改变NSNumber的值.

例如,请参阅此帖子.