gpt4 book ai didi

ios - 如何为与一对多关系中的对象相关的对象编写核心数据谓词

转载 作者:行者123 更新时间:2023-11-29 03:59:24 25 4
gpt4 key购买 nike

EntityAEntityB 有一对多关系(并且 EntityBEntityA 具有一对一关系)。我有一个数组 EntityB s (或更准确地说,我有一个 NSArray ,其中包含代表 NSManagedObjectEntityB 实例)。我想创建一个NSFetchRequest这将获取所有 EntityA至少与 EntityB 之一有关系s 在数组中。如何为该获取请求编写谓词?

以下方法有效,但我认为它不是最佳的;这很难理解,我相信一定有更好的方式来表达这一点:

NSArray *entityBs = ...;
NSMutableArray *containsEntityBSubPredicates = [NSMutableArray new];
for (NSManagedObject *entityB in entityBs) {
[containsEntityBSubPredicates addObject:[NSPredicate predicateWithFormat:@"%@ IN entityBs", entityB]];
}
NSPredicate *containsEntityBsPredicate = [NSCompoundPredicate orPredicateWithSubpredicates:containsEntityBSubPredicates];

我也尝试过这个,但它不起作用:

NSArray *entityBs = ...;
NSPredicate *containsEntityBsPredicate = [NSPredicate predicateWithFormat:@"ANY %@ in entityBs", entityBs];

我是否缺少一个更简单的解决方案?

最佳答案

你的谓词已经差不多完成了,只需切换参数:

[NSPredicate predicateWithFormat:@"ANY entityBs in %@", entityBArray];

使用 IN 查看 Apple 的示例代码 here以获得进一步的解释。

关于ios - 如何为与一对多关系中的对象相关的对象编写核心数据谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16078593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com