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

Как добавить объект в первый индекс NSArray

Я хочу добавить объект @ALL ITEMS в первый индекс NSARRAY.

Первоначально массив имеет 10 объектов. После добавления массив должен содержать 11 объектов.

4b9b3361

Ответ 1

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

NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0", nil];
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
[mutableArray addObject:@"ALL ITEMS"];
[mutableArray addObjectsFromArray:array];

Метод addObject вставляет объект в качестве последнего элемента NSMutableArray.

Ответ 2

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

[array1 insertObject:@"ALL ITEMS" atIndex:0];

В Swift 2.0

array1.insertObject("ALL ITEMS", atIndex: 0)

Ответ 3

Я знаю, что у нас есть шесть ответов для insertObject и один для создания массива (n) NSMutableArray, а затем вызывает addObject, но есть и следующее:

myArray = [@[@"ALL ITEMS"] arrayByAddingObjectsFromArray:myArray];

Я тоже не профилировал.

Ответ 4

Взгляните на метод insertObject: atIndex: метод класса NSMutableArray. Чтобы добавить объект к фронту массива, используйте 0 в качестве индекса:

[myMutableArray insertObject:myObject atIndex:0];

Ответ 5

NSArray - неизменяемый массив, который вы не можете изменить во время выполнения. Используйте NSMutableArray

    [ary insertObject:@"YourObject" atIndex:0];

Ответ 6

NSArray неизменен, но вы можете использовать метод insertObject: класс NSMutableArray

[array insertObject:@"all items" atIndex:0];

Ответ 7

NSArray не является dyanamic для решения вашей цели, вы должны использовать NSMutableArray. Обратитесь к следующему методу

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

Ответ 8

Поскольку у вас уже есть 10 объектов в вашем массиве, и вам нужно добавить еще один элемент в индекс 11... так что вы должны попробовать это... надеюсь, что это поможет..

NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
    [yourArray insertObject:@"All Items" atIndex:0];

Ответ 9

В документах Apple указаны методы NSMutableArray.

 [temp insertObject:@"all" atIndex:0];

Ответ 10

Swift 3:

func addObject(){
    var arrayName:[String] = ["Name1", "Name2", "Name3"]
    arrayName.insert("Name0", at: 0)
    print("---> ",arrayName)
}

Output:
---> ["Name0","Name1", "Name2", "Name3"]