是否有可能根据表达式,目标c检查条件

时间:2014-04-03 16:22:09

标签: ios objective-c enumeration nsexception

我的数组arr最初包含以下

[A,B,C,D,E,F,G];

现在我要删除A,B和C,我可以像下面这样做

 [arr enumerateObjectsUsingBlock:^(NSString *name, NSUInteger idx, BOOL *stop) {
    if ( [name isEqualToString:@"A"] || [name isEqualToString:@"B"] || [name isEqualToString:@"C"]);
         [arr removeObject:name];
}];

问题:是否可以使用nsexpression来实现。听起来像定义一个包含A和B和C的nsexpression,然后我们根据nxpression删除元素。

任何想法如何实现这一目标。欢迎所有评论。感谢。

1 个答案:

答案 0 :(得分:3)

不要直接使用NSExpression,而应考虑filteredArrayUsingPredicate:NSMutableArrayfilterUsingPredicate:。这将返回由谓词过滤的新数组,或者根据谓词变异的同一数组。

此外,枚举时改变你的收藏并不是一个好主意。