Если я правильно понимаю, у вас уже есть объект Field и объект Project, и вы хотите найти общие для них объекты ответа.
Если это так, решение представляет собой простую операцию пересечения множеств:
NSSet *answersInCommon=[[aFieldObj mutableSetValueForKey:@"answers"] intersectSet:[aProjectObj mutableSetValueForKey:@"answers"]];
..., которая будет возвращать только те объекты ответа, которые появляются в обоих отношениях.
Обновление:
@ pdenya в комментарии предоставляет улучшение:
Просто хочу уточнить небольшую ошибку и небольшой момент, который делает это не идеальным.intersectSet возвращает (void), поэтому синтаксис для этого будет:
NSMutableSet *answers=[field mutableSetValueForKey:@"answers"];
[answers intersectSet:[project mutableSetValueForKey:@"answers"]];
Это решение также изменяет массив aFieldObj.answers, что означает, что вы не можете использовать его во время итерации.setWithSet очищает это право.Пример:
NSMutableSet *answers = [NSMutableSet setWithSet:[project mutableSetValueForKey:@"answers"]];
[answers intersectSet:[field mutableSetValueForKey:@"answers"]];
@ pdenya - это правильная форма.