Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 用于查找多对多关系与给定实体集匹配的实体的谓词_Objective C_Macos_Cocoa_Core Data - Fatal编程技术网

Objective c 用于查找多对多关系与给定实体集匹配的实体的谓词

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

我有一个实体线程,它与一个名为Contact的实体有一对多的关系参与者

如何获取线程实体,该实体在其目标位置与我在别处收集的一组联系人具有完全相同的联系人实体

大概是这样的:

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)];

你应该说‘我试过了,遇到了这个问题。’这里的答案是什么?