Wednesday, 13 April 2016

remove more than one object in array


NSMutableIndexSet *indexesToDelete = [NSMutableIndexSet indexSet];
        NSArray *deassMatches = [pickerArray valueForKey:eventstr.task_picker_id_str];
        for (int i =0; i<deassignArr.count; i++) {
            if ([deassMatches containsObject:[deassignArr objectAtIndex:i]])
            {
                NSUInteger indexvalue = [deassMatches indexOfObject:[deassignArr objectAtIndex:i]];
                [indexesToDelete addIndex:indexvalue];
            }
        }


        [pickerArray removeObjectsAtIndexes:indexesToDelete];


OR


NSMutableIndexSet *indexesToDelete = [NSMutableIndexSet indexSet];
NSUInteger currentIndex = 0;

for (id obj in yourArray) {
    //do stuff with obj
    if (shouldBeDeleted(obj)) {
        [indexesToDelete addIndex:currentIndex];
    }
    currentIndex++;
}

[yourArray removeObjectsAtIndexes:indexesToDelete];

No comments:

Post a Comment