Objective-C Language
NSMutableArray
Поиск…
Добавление элементов
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