У меня была та же проблема, но мне нужно было сравнить несколько свойств одновременно (класс Пользователь со свойствами Имя и Идентификатор ).
Я решил эту проблему, добавив метод, возвращающий NSDictionary со свойствами, необходимыми для класса:
- (NSDictionary *)itemProperties
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:self.name forKey:@"name"];
[dict setObject:self.id forKey:@"id"];
return dict;
}
и затем используя valueForKey:
, как упомянул Кевин Баллард:
BOOL userSetsEqual = [[userSet1 valueForKey:@"itemProperties"]
isEqualToSet:[userSet2 valueForKey:@"itemProperties"]];
... где userSet1 и userSet2 были NSSets, которые содержали Пользователь объекты.