NSArray инициализация с числами - PullRequest
7 голосов
/ 01 декабря 2009

Мне было интересно, как мне создать NSArray, скажем, с номерами 1-100 для использования в UIPickerView.

Я знаю из других классов программирования, которые я мог бы сделать:

int array[100];
for (int i=1, i<=100, i++)
   array[i]=i;

Но я не уверен, что эквивалентно NSArray, вместо того, чтобы вручную вводить все значения. Я искал его в Интернете, и увидел, что кто-то сделал это с calloc и не был уверен, что это лучший метод, или я могу каким-то образом заключить int в NSNumber и каждый NSNumber входит в мой массив. И если бы я должен был сделать эту процедуру, я бы тогда создал NSMutableArray и addObject каждый раз, проходя через цикл? Я хочу, чтобы эти значения загружались всякий раз, когда пользователь выходит на экран.

1 Ответ

6 голосов
/ 01 декабря 2009

Или:

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

[array retain];

Или:

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

... должен делать то, что ты хочешь. Если вы часто этим занимаетесь, вы можете создать категорию для создания массива, содержащего диапазон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...