如何从一个数组中获取与另一个数组具有相同属性的对象?

如何从一个数组中获取与另一个数组具有相同属性的对象?

问题描述:

例如:我有两个 NSMutableArray.一个@[1,2,3,4,5,6,7].其他有像

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?

您需要在第二个数组中使用 NSPredicate.

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);
}