Каков наиболее эффективный способ памяти для цикла NSMutableArray для пользовательских объектов? Мне нужно проверить значение в каждом объекте в массиве и вернуть, сколько из этого типа объекта находится в массиве.
Зацикливание через NSMutableArray настраиваемых объектов наиболее эффективным способом памяти
Ответ 1
for (WhateverYourClassNameIs *whateverNameYouWant in yourArrayName) {
[whateverNameYouWant performSelector];
more code here;
}
Он назвал быстрое перечисление и стал новой функцией Objective C 2.0, доступной на iPhone.
Ответ 2
Я бы просто использовал предикат, который был бы примерно таким:
NSArray * filtered = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"aProperty = %@", @"someValue"]];
NSLog(@"number of items where aProperty = someValue: %d", [filtered count]);
Изменить: этот код функционально эквивалентен:
NSMutableArray * filtered = [NSMutableArray array];
for (MyCustomObject * object in myArray) {
if ([[object aProperty] isEqual:@"someValue"]) {
[filtered addObject:object];
}
}