NSIndexSet *indicies = [allRecords indexesOfObjectsPassingTest:^ (id obj, NSUInteger idx, BOOL *stop) { return [obj someField] == someFieldFilterValue; }]; filteredArray = [allRecords objectsAtIndexes:indicies];
EDIT: oh, someFieldFilterValue was an integer, wasn't it. Fixed.
EDIT: oh, someFieldFilterValue was an integer, wasn't it. Fixed.