我与两个实体有many-to-many
的关系。一个是Person
,另一个是Clubs
。我希望能够编写一个predicate
来查找特定Person
中的所有Club
个实体。我还想检查该人的position
属性。
以下是没有工作的事情:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext]];
[request setPredicate:[NSPredicate predicateWithFormat:@"position CONTAINS[cd] %@ AND IN %@", @"manager", self.clubs.people]];
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:nil];
崩溃时出现错误:
由于未捕获的异常而终止应用 ' NSInvalidArgumentException',原因:'无法解析格式 string" title CONTAINS [cd]%@ AND IN%@"'
我知道我在这里做错了什么,有什么帮助吗?
答案 0 :(得分:2)
正如上面@pbasdf指出的,你应该使用self。但是,首先使用self子句,查询效率会更高,即
[NSPredicate predicateWithFormat:@"SELF IN %@ AND position CONTAINS[cd] %@", self.clubs.people, @"manager"];