Часто вижу что некоторые личности реализуют метод так:
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
NSMutableArray *items = [NSMutableArray arrayWithCapacity:[array count]];
for (NSString *object in array) {
if (object.intValue < 3 ) {
[items addObject:object];
}
}
[array removeObjectsInArray:items];
Вроде не к чему придраться, но есть…
Меттод removeObjectsInArray поиск обьектов реализован линейно и при большем количестве объектов в массиве заметно понижение производительности.
Способ по-лучше
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
NSMutableArray *items = [NSMutableArray arrayWithCapacity:[array count]];
for (NSString *object in array) {
if (object.intValue < 3 ) {
[items addObject:object];
}
}
[array setArray:items];
Мы не тратим время на копирование значения во время изменения размера массива.