NSArray用数字初始化

jet*_*et 7 cocoa nsarray

我想知道如何创建一个NSArray用数字1-100来表示的数字UIPickerView.

我从其他编程课程中知道我能做到:

int array[100];
for (int i=1, i<=100, i++)
   array[i]=i;
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用等效的东西NSArray,而不是手动输入所有值.我在网上搜索过,我看到有人用calloc做过,并且不确定这是否是最好的方法,或者我是否可以将int包装成NSNumber某种方式并让每个NSNumber进入我的数组.如果我要执行此过程,那么每次运行循环时我是否会创建一个NSMutableArrayaddObject?我想在用户进入屏幕时加载这些值.

小智 6

或者:

NSArray * array = [NSArray array];
for ( int i = 1 ; i <= 100 ; i ++ )
    array = [array arrayByAddingObject:[NSNumber numberWithInt:i]];

[array retain];
Run Code Online (Sandbox Code Playgroud)

要么:

NSMutableArray * array = [[NSMutableArray alloc] initWithCapacity:100];
for ( int i = 1 ; i <= 100 ; i ++ )
    [array addObject:[NSNumber numberWithInt:i]];
Run Code Online (Sandbox Code Playgroud)

......应该做你想做的事.如果这是您经常做的事情,您可以考虑创建一个类别来构造包含范围的数组.

  • 在循环中小心使用便捷构造函数.第一个示例将创建100个临时数组,每个数组都大于最后一个. (3认同)