我的核心数据模型中有2个表。

项目和过滤条件

FILTER有很多项目

我正在尝试使用表FILTER isSelected == 1的参数获取所有项目。

我有这个谓词,但它不起作用,请您帮我如何获取所需的物品?
我正在使用MagicalRecord

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"filter.isSelected == 1"];
NSArray *items = [Item MR_findAllWithPredicate:predicate];

self.itemList = [items copy];

最佳答案

试试这个,我在我的应用程序中为Item和Department做同样的事情。

Filter *department=nil;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Filter" inManagedObjectContext:__managedObjectContext];
[fetchRequest setEntity:entity];

Item *anItem=nil;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:__managedObjectContext];
[fetchRequest setEntity:entity];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isSelected==%d and isSelected==%@", [department.isSelected integerValue ], @"1"];
[fetchRequest setPredicate:predicate];

NSArray *resultSet = [UpdateManager executeForContext:self.managedObjectContext FetchRequest:fetchRequest];


resultSet是结果数组。

尝试让我知道。

关于ios - ios谓词一对多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23488067/

10-15 15:15