是它可以检查基于表达式的条件,目标C
问题描述:
我的阵列arr
原本包含以下是它可以检查基于表达式的条件,目标C
[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来完成。这听起来像定义一个nsexpression包含A和B和C,然后我们删除基于nxpression的元素。
任何想法如何实现这一点。所有评论都欢迎在这里。谢谢。
答
而不是直接使用NSExpression
,请考虑filteredArrayUsingPredicate:
或NSMutableArray
,filterUsingPredicate:
。这将返回一个由谓词过滤的新数组,或根据谓词变异的相同数组。
另外,枚举时改变集合并不是一个好主意。