代码之家  ›  专栏  ›  技术社区  ›  Neo42

有人能发布一个完整的使用nsnumber的例子吗?

  •  4
  • Neo42  · 技术社区  · 17 年前

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

    2 回复  |  直到 17 年前
        1
  •  6
  •   Shaggy Frog    17 年前

    “完整的示例用法”是什么意思?你能为你要找的那种例子提供一个背景吗?

    你所说的“正常”变量是什么意思?

    你可以得到一个 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];
    
        2
  •  0
  •   ennuikiller    17 年前

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

     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 
            }