Objective c 用于查找多对多关系与给定实体集匹配的实体的谓词
我有一个实体线程,它与一个名为Contact的实体有一对多的关系参与者 如何获取线程实体,该实体在其目标位置与我在别处收集的一组联系人具有完全相同的联系人实体 大概是这样的:Objective c 用于查找多对多关系与给定实体集匹配的实体的谓词,objective-c,macos,cocoa,core-data,Objective C,Macos,Cocoa,Core Data,我有一个实体线程,它与一个名为Contact的实体有一对多的关系参与者 如何获取线程实体,该实体在其目标位置与我在别处收集的一组联系人具有完全相同的联系人实体 大概是这样的: NSSet *participants = [NSSet setWithObjects:<Contact>, <Contact>, <Contact>]; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NS
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;
您不能只比较像self这样的谓词中的集合。参与者==%@,参与者。此谓词可能更有效:
[NSPredicate predicateWithFormat:
@"ALL participants IN %@ && participants.count == %@",
participants, @(participants.count)];
你应该说‘我试过了,遇到了这个问题。’这里的答案是什么?