使用 NSPredicate 获取不匹配的字符串作为字典数组
get not matched strings using NSPredicate for Array of Dictionaries
我有
Array
Item 0 -- Dictionary
name -- String
phoneNumbers -- Array
Item 0 -- string
Item 1 -- Dictionary
And so on.....
我想创建一个 NSPredicate
select phoneNumbers
,它不在 phoneNumbers
数组内的给定数组中。我怎样才能达到那么深?
如果您看不懂图表。我有一个充满字典的数组,字典里面是一个字符串和一个字符串数组
那么我如何进入第二个字符串(字符串数组)phoneNumbers 并获取不在给定字符串数组中的电话号码 givenPhoneNumbers 使用 NSPredicate
?
提前致谢
试试这个
NSMutableArray *arrItems; //set ur dict data;
NSMutableArray *givenPhoneNumbers; //set phone numbers array;
NSMutableArray *requiredPhoneNumbers = [NSMutableArray new];
[arrItems enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger idx,
BOOL *_Nonnull stop) {
[requiredPhoneNumbers
addObjectsFromArray:
[[obj objectForKey:@"phoneNumbers"]
filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"NOT (Self IN %@)",
givenPhoneNumbers]]];
}];
我有
Array
Item 0 -- Dictionary
name -- String
phoneNumbers -- Array
Item 0 -- string
Item 1 -- Dictionary
And so on.....
我想创建一个 NSPredicate
select phoneNumbers
,它不在 phoneNumbers
数组内的给定数组中。我怎样才能达到那么深?
如果您看不懂图表。我有一个充满字典的数组,字典里面是一个字符串和一个字符串数组
那么我如何进入第二个字符串(字符串数组)phoneNumbers 并获取不在给定字符串数组中的电话号码 givenPhoneNumbers 使用 NSPredicate
?
提前致谢
试试这个
NSMutableArray *arrItems; //set ur dict data;
NSMutableArray *givenPhoneNumbers; //set phone numbers array;
NSMutableArray *requiredPhoneNumbers = [NSMutableArray new];
[arrItems enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger idx,
BOOL *_Nonnull stop) {
[requiredPhoneNumbers
addObjectsFromArray:
[[obj objectForKey:@"phoneNumbers"]
filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"NOT (Self IN %@)",
givenPhoneNumbers]]];
}];