-4

I am having an array of dictionaries with keys "name", "image", "email" and "phone" as keys. I want to filter the dictionaries containing email and phones separately using nspredicate, passing the dictionary key as search string. How can I achieve this.

Naveen
  • 49
  • 9

1 Answers1

1

Use NSPredicate class to filter your array of dictionary by specified key,

For filter by email:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"email contains[c] %@",strSearchString];

filteredArray = [[NSMutableArray alloc] initWithArray: [[arrayData filteredArrayUsingPredicate:predicate] copy]];

For filter by phone:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"phone contains[c] %@",strSearchString];

filteredArray = [[NSMutableArray alloc] initWithArray: [[arrayData filteredArrayUsingPredicate:predicate] copy]];
Bharat Modi
  • 4,158
  • 2
  • 16
  • 27