从NSArray中删除空NSStrings的最简单方法是什么?

Joh*_*rck 16 iphone objective-c

在PHP中,它是一行代码:

$array_without_empty_strs = array_filter($array_with_empty_strs);
Run Code Online (Sandbox Code Playgroud)

什么是目标C等价物?

更新 - 添加以下测试代码以说明Nikolai Ruhe解决方案的使用:

// SOLUTION Test Code
NSMutableArray *myArray = [[NSMutableArray alloc] init ];
[myArray addObject:[NSNumber numberWithInt:5]];
[myArray addObject:@""];
[myArray addObject:@"test"];
NSLog(@"%@", myArray);
[myArray removeObject:@""];
NSLog(@"%@", myArray);

// SOLUTION Test Code Output
2012-07-12 08:18:16.271 Calculator[1527:f803] (
    5,
    "",
    test
)
2012-07-12 08:18:16.273 Calculator[1527:f803] (
    5,
    test
)
Run Code Online (Sandbox Code Playgroud)

Nik*_*uhe 61

它更简单:

[mutableArrayOfStrings removeObject:@""];
Run Code Online (Sandbox Code Playgroud)

如果你的数组不可变,你必须先创建一个mutableCopy.

removeObject:从数组中删除所有返回YES的对象isEqual:.


rob*_*off 24

NSArray *noEmptyStrings = [maybeEmptyStrings filteredArrayUsingPredicate:
    [NSPredicate predicateWithFormat:@"length > 0"]];
Run Code Online (Sandbox Code Playgroud)