Use NSMutableSet's intersectSet: method.
Pull out the array of property values you want to intersect, and convert your first array to a mutable set: NSMutableSet *setA = [NSMutableSet setWithArray:[arrayA valueForKey:@"name"]];
Intersect it with the property values in array B. [setA intersectSet:[NSSet setWithArray:[arrayB valueForKey:@"name"]];
If you wanted to combine it into one really long line, you'd do this:
NSSet *commonProperties = [[NSMutableSet setWithArray:[arrayA valueForKey:@"name"]] intersectSet:[NSSet setWithArray:[arrayB valueForKey:@"name"]]];
Of course, this is only going to give you the name property, not the object itself. If you wanted the entire object, override isEqual: and do the name check in there. Then you can eliminate the valueForKey: part and just intersect the two sets.
The remaining values will be the common values. NSSet string comparison uses isEqualToString: behind the scenes for NSString objects.