Is this the right and most efficient way to remove an empty string from NSArray?

Is this the right and most efficient way to remove an empty string from NSArray?

int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSMutableArray *myStrings = [NSMutableArray arrayWithObjects:(id[]){@"Test 1",@"",@"Test 2",@"Test 3",@""} count:5]; NSArray *myFilteredArray = [myStrings filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"length > 0"]]; //Non-destructive, myStrings is still intact NSLog(@"The original array is: %@",myStrings); NSLog(@"The filtered array is: %@",myFilteredArray); [myStrings removeObject:@""]; //Destructive. myStrings will never be the same again NSLog(@"The altered is: %@",myStrings); [pool drain]; return 0; } 
+6
source share
1 answer

I would say that removeObject is the most efficient way to remove empty objects from your array. NSPredicate should be used for more complex structures, so in this respect it is an excess that you could use removeObject.

+6
source

Source: https://habr.com/ru/post/895542/


All Articles