Поиск…


Добавление элементов

NSMutableArray *myColors;
myColors = [NSMutableArray arrayWithObjects: @"Red", @"Green", @"Blue", @"Yellow", nil];
[myColors addObject: @"Indigo"];
[myColors addObject: @"Violet"];

//Add objects from an NSArray
NSArray *myArray = @[@"Purple",@"Orange"];
[myColors addObjectsFromArray:myArray];

Вставить элементы

NSMutableArray *myColors;
int i;
int count;
myColors = [NSMutableArray arrayWithObjects: @"Red", @"Green", @"Blue", @"Yellow", nil];
[myColors insertObject: @"Indigo" atIndex: 1];
[myColors insertObject: @"Violet" atIndex: 3];

Удаление элементов

Удалить по определенному индексу:

[myColors removeObjectAtIndex: 3];

Удалите первый экземпляр определенного объекта:

[myColors removeObject: @"Red"];

Удалите все экземпляры определенного объекта:

[myColors removeObjectIdenticalTo: @"Red"];

Удалите все объекты:

[myColors removeAllObjects];

Удалить последний объект:

[myColors removeLastObject];

Сортировка массивов

NSMutableArray *myColors = [NSMutableArray arrayWithObjects: @"red", @"green", @"blue", @"yellow", nil];
NSArray *sortedArray;
sortedArray = [myColors sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

Переместить объект в другой индекс

Переместите синий в начало массива:

NSMutableArray *myColors = [NSMutableArray arrayWithObjects: @"Red", @"Green", @"Blue", @"Yellow", nil];

NSUInteger fromIndex = 2;
NSUInteger toIndex = 0;

id blue = [[[self.array objectAtIndex:fromIndex] retain] autorelease];
[self.array removeObjectAtIndex:fromIndex];
[self.array insertObject:blue atIndex:toIndex];

myColors теперь [@"Blue", @"Red", @"Green", @"Yellow"] .

Фильтрация содержимого массива с помощью Predicate

Использование filterUsingPredicate: Это оценивает заданный предикат в отношении содержимого массивов и возвращает объекты, которые соответствуют.

Пример:

      NSMutableArray *array = [NSMutableArray array];
      [array setArray:@[@"iOS",@"macOS",@"tvOS"]];
      NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'i'"];
      NSArray *resultArray = [array filteredArrayUsingPredicate:predicate];
      NSLog(@"%@",resultArray);

Создание NSMutableArray

NSMutableArray можно инициализировать как пустой массив следующим образом:

NSMutableArray *array = [[NSMutableArray alloc] init];
// or
NSMutableArray *array2 = @[].mutableCopy;
// or
NSMutableArray *array3 = [NSMutableArray array];

NSMutableArray может быть инициализирован другим массивом следующим образом:

NSMutableArray *array4 = [[NSMutableArray alloc] initWithArray:anotherArray];
// or
NSMutableArray *array5 = anotherArray.mutableCopy; 


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow