我知道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