我有一个实体Thread
与participants
实体之间存在多对多关系Contact
。
如何获取Thread
实体,该实体在其目的地具有完全相同的Contact
实体作为NSSet
我在其他地方收集的Contacts
。
这样的事情:
NSSet *participants = [NSSet setWithObjects:<Contact>, <Contact>, <Contact>];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Thread", self.managedObjectContext];
[NSPredicate predicateWithFormat:@"self.participants == %@", participants];
fetchRequest.entity = entity;
fetchRequest.predicate = predicate;
答案 0 :(得分:0)
您不能只比较像self.participants == %@", participants
这样的谓词中的集合。这个谓词可能会更好:
[NSPredicate predicateWithFormat:
@"ALL participants IN %@ && participants.count == %@",
participants, @(participants.count)];