如何从一个数组中获取与另一个数组具有相同属性的对象?
问题描述:
例如:我有两个 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);
}