Подтвердить что ты не робот

Как добавить объекты в NSArray, используя цикл?

Я хочу добавить [NSDecimalNumber numberWithInt:i] в массив, используя для цикла.

Он жестко запрограммирован:

 NSArray *customTickLocations = [NSArray arrayWithObjects: [NSDecimalNumber numberWithInt:1],[NSDecimalNumber numberWithInt:2],[NSDecimalNumber numberWithInt:3],[NSDecimalNumber numberWithInt:4],[NSDecimalNumber numberWithInt:5],[NSDecimalNumber numberWithInt:6],[NSDecimalNumber numberWithInt:7],[NSDecimalNumber numberWithInt:8],[NSDecimalNumber numberWithInt:9],[NSDecimalNumber numberWithInt:10],[NSDecimalNumber numberWithInt:11],[NSDecimalNumber numberWithInt:12],nil];

Я хочу, как это, но я могу добавить только один объект здесь....

for (int i=0; i<totalImagesOnXaxis; i++)
{
    customTickLocations = [NSArray arrayWithObject:[NSDecimalNumber numberWithInt:i]];
}

Пожалуйста, помогите мне, Заранее спасибо, Мадан

4b9b3361

Ответ 1

NSArray неизменный. Используйте измененную версию NSMutableArray.

Ответ 2

NSMutableArray * customTickLocations = [NSMutableArray new];
for (int idx = 0; idx < 12; ++idx) {
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:idx]];
}

...

Ответ 3

вы не можете добавлять объекты во время выполнения в NSArray. Для добавления или удаления объектов во время выполнения вы должны использовать NSMutableArray.

NSMutableArray *mutableArray=[[NSMutableArray alloc] init];
for (int i=0; i<10; i++) {
    [mutableArray addObject:[NSDecimalNumber numberWithInt:i]];
}

Ответ 4

NSMutableArray *customTickLocations = [NSMutableArray array];
for (int i=0; i<totalImagesOnXaxis; i++)
{
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:i]];
}

Класс NSMutableArray объявляет программный интерфейс объектам, которые управляют модифицируемым массивом объектов. Этот класс добавляет операции вставки и удаления в базовое поведение обработки массива, унаследованное от NSArray

Ссылка на класс NSMutableArray

Ответ 5

NSMutableArray * customTickLocations = [[NSMutableArray alloc] init];
for(int i = 0; i<WhateverNoYouWant;i++){
NSDecimalNumber * x = [NSDecimalNumber numberWithInt:i]
[customTickLocations addObject:x]

    }

Ответ 6

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

Если я хочу добавить новый массив в мой текущий массив

currentArray = [currentArray arrayByAddingObjectsFromArray: newArray]; 

Ответ 7

NSArray добавить объект следующим образом:

NSArray *arr = @["1","2","3","4"];

Я думаю, NSArray не может addObject как NSMutableArray. Вы должны попробовать:

NSMutableArray *mulArr = [NSMutableArray new];
[mulArr addObject:[NSDecimalNumber numberWithInt:number]];