这是从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;
}
最佳答案
我会说removeObject是从数组中删除空白对象的最有效方法。 NSPredicate应该用于更复杂的结构,因此在这方面,如果可以使用removeObject,那就太过分了。