我知道NSNumber是不可变的,但我仍然需要在我的应用程序中进行更改。我使用它是因为它是一个对象,因此可以与@property一起使用(如果可以的话,我会在心跳中使用float或CGFloat,但很遗憾,我不能)。通过分配新的NSNumber来更改NSNumber值?
有什么办法可以覆盖旧的NSNumber实例吗?我试试这个:
NSNumber *zero = [[NSNumber alloc] initWithFloat:0.0];
myNSNumber = zero
但是这并不改变这个值。这是我的代码的简化版本,因为我正在改变根视图控制器的参数(我知道,不是MVC友好的)。不过,价值的变化应该是相同的任务,对吧?我应该先释放myNSNumber吗?我应该为myNSNumber设置@property?
谢谢!
您可以在'@ property'声明中使用原始类型。例如'@property(nonatomic,assign)float foo;' – 2010-03-23 21:37:41
谢谢Ben。这样做后,我似乎无法更改不同对象的参数值(我使用@property(nonatomic,assign): ((myViewController *)self.parentViewController).otherViewController.value = 1.0;?!? 不应该在该工作 再次感谢本 – 2010-03-23 21:51:34