用整数填充数组

时间:2012-01-25 12:11:49

标签: objective-c

假设我想用50个整数填充NSarray。我们知道NSarray只接受对象。所以我必须做50次

NSNumber *num1 = [NSNumber numberWithInit:10];
NSNumber *num2 = [NSNumber numberWithInit:212];
......
NSNumber *num50 = [NSNumber numberWithInit:12];

是否有更优雅的方法来实现这一点,因为只有创建数字对象才会看到愚蠢的50行代码?

3 个答案:

答案 0 :(得分:0)

如何使用NSMutableArray

NSMutableArray* arr = [[NSMutableArray alloc] init];
int i = 0;
for(i=0; i<50; i++) {
    NSNumber* num = [NSNumber numberWithInt:i]; // use i or random numbers
    [arr addObject:num];
}

答案 1 :(得分:0)

试试这个......

NSMutableArray *array=[[NSMutableArray alloc]initWithCapacity:50 ];

    for (int i=0; i<0; i++) {
        NSNumber *number=[[NSNumber alloc] initWithInt:i];
        [array addObject:number];
        [number release];
    }
//do anything with arrray and release the array later.

这样可以,或者你正在寻找其他任何东西。?

答案 2 :(得分:0)

您的数字似乎没有遵循任何特定模式,因此您可能最好先创建一个C数组:

int myValues[] = { 10, 212, ..., 12 };
NSUInteger count = sizeof(myValues)/sizeof(int); // number of integers in myValues

// abstract the following into a function/method/category if doing more than once
NSMutableArray *objcValues = [NSMutableArray arrayWithCapacity:count];
for(NSUInteger ix = 0; ix < count; ix++)
   [objcValues addObject:[NSNumber numberWithInt:myValues[ix]];