5

例如,我什至不确定是否可以像普通变量一样使用它。似乎没有可变版本。可变是否意味着它的价值可以改变?

4

2 回答 2

6

“完整示例用法”是什么意思?你能给出你正在寻找的例子的背景吗?

使用某些东西作为“正常”变量是什么意思?

您可以NSNumber通过使用numberWithXXX返回自动释放对象的函数或通过执行标准alloc/来获得一个init

NSNumber* myAllocedNumber = [[NSNumber alloc] initWithFloat:0.0f];
// ...use it...
[myAllocedNumber release];

NSNumber* myAutoreleasedNumber = [NSNumber numberWithFloat:0.0f];

您可以稍后更改指针指向的位置,但不能更改值:

NSNumber* myAutoreleasedNumber = nil;
myAutoreleasedNumber = [NSNumber numberWithFloat:0.0f];
// ...use it...
myAutoreleasedNumber = [NSNumber numberWithInt:1000];
于 2009-09-03T23:35:09.407 回答
0

您始终可以将不同的对象引用分配给不可变变量,这样就可以了:

 NSNumber  *intKey;

        NSMutableArray *backToString =[[NSMutableArray alloc] init];

        while ((intKey = [enumerator nextObject])) {
            //(NSNumber *)integer = [key integerValue];
            [backToString  addObject:[intKey stringValue]];
            // code that uses the returned key 
        }
于 2009-09-03T23:31:10.320 回答