Search code examples
iosobjective-cnsmutablearraynsarraynsset

How get objects from one array with same properties of other?


For example: I have two NSMutableArray. One @[1,2,3,4,5,6,7]. Other have objects like

@[
   @{@idObjectToSearch":1, @"name":@"aaaaa", @"surname": @"bbbbb"}, @{@idObjectToSearch":2, @"name":@"aaaaa", @"surname": @"ccccc"},
    ...
   @{@idObjectToSearch":100, @"name":@"aaaaa", @"surname": @"cccdcd"}
];

So how I could extract needed objects from second array more effective way?


Solution

  • You need to use NSPredicate with your second array.

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"idObjectToSearch IN %@", firstArray];
    //In above predicate instead of passing `1` you need to pass object from first array that you want.
    
    NSArray *filterArray = [secondArray filteredArrayUsingPredicate:predicate];
    
    //Now access Array objects
    if (filterArray.count > 0) {
         NSLog(@"%@",filterArray);
    }