Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用两个NSPredcates筛选NSArray_Ios_Nsstring_Nsarray_Nspredicate - Fatal编程技术网

Ios 如何使用两个NSPredcates筛选NSArray

Ios 如何使用两个NSPredcates筛选NSArray,ios,nsstring,nsarray,nspredicate,Ios,Nsstring,Nsarray,Nspredicate,我想筛选NSDictionary的NSArray,但是我想使用一个、两个甚至三个NSPredicate值筛选结果 目前,我正在通过执行此操作筛选阵列 NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"parts == %@", filterString];//keySelected is NSString itself NSMutableArray *filteredArray = [NSMutab

我想筛选NSDictionary的NSArray,但是我想使用一个、两个甚至三个NSPredicate值筛选结果

目前,我正在通过执行此操作筛选阵列

NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"parts == %@", filterString];//keySelected is NSString itself
        NSMutableArray *filteredArray = [NSMutableArray arrayWithArray:[currentParts filteredArrayUsingPredicate:predicateString]];
        sortedItemsArray = [filteredArray mutableCopy];
但我不确定如何使用两个谓词来实现这一点

另外两个谓词分别类似于上面的谓词,它们接受不同的键

NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"area == %@", filterString];

我想的是也许你可以

NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"stage == %@ area == %@", filterString, areaflterstring];

但我认为这是不可能的。

这是可能的,但您需要告诉谓词如何组合这些部分,如:

NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"stage == %@ AND area == %@", filterString, areaflterstring];

您也可以使用
NSCompoundPredicate
组合许多谓词。

相关:非常感谢。现在将研究NSCompoundPredicate:)
NSPredicate *predicateString = [NSPredicate predicateWithFormat:@"stage == %@ AND area == %@", filterString, areaflterstring];