0

我有一个数组NSPredicate和一个值数组。现在,我想搜索是否所有的NSPredicate都是true这个数组。我正在使用这样的循环:

bool valid = true;
for(NSPredicate* predicate in predicates){
                if([[searchValues filteredArrayUsingPredicate:predicate] count] == 0){
                    valid = false;
                    break;
                }
            }

有没有更好的方法来做到这一点,这意味着以某种方式避免 NSPredicate 上的循环?

4

1 回答 1

2
NSArray *predicates = ... // your array of predicates
NSPredicate *andPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:predicates];
BOOL valid = [[searchValues filteredArrayUsingPredicate:andPredicate] count] > 0;
于 2013-07-02T18:28:31.060 回答