2011-08-21 14 views
6

Bu, boş dizeyi NSArray'dan kaldırmanın doğru ve etkili bir yolu mu?Bu, boş dizeyi NSArray'dan kaldırmanın doğru ve etkili bir yolu mu?

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; 
} 

cevap

6

Ben RemoveObject senin diziden boş nesneler kaldırarak en etkili yolu olduğunu söyleyebilirim. NSPredicate daha karmaşık yapılar için kullanılmalıdır, bu nedenle bu nedenle removeObject'i kullanabileceğiniz bir aşırı sıkmadır.

+0

Teşekkürler Daniel ... Mükemmel bir şekilde aldığınızı düşünüyorum .. !! Mükemmel cevap..!! –

İlgili konular