嵌套对象/NSSet 上的 NSPredicate 用于在 NSFetchRequest 期间过滤结果

2023-12-02

我想要一个简单的谓词,它返回所有模式 = 0 且组中注册模式 = 0 的组

准确地说,我需要一个谓词来访问嵌套对象属性。 不知怎的,像这样的谓词:

[NSPredicate predicateWithFormat:@"mode = 0 AND enrollments.Enrollment.mode = 0"]

上面的谓词是错误的并且显然不起作用。

EDITED:

我也尝试过以下谓词,但没有成功。

[NSPredicate predicateWithFormat:@"mode = 0 AND ALL ( SUBQUERY(enrollments,$varEnrollment,$varEnrollment.mode = 0))"]

我需要包含所有处于活动状态的组 (group.mode = 0) 以及所有处于活动状态的登记者 (enrolles.mode = 0) 的结果 但对我来说这个谓词不起作用。


从你的问题和评论我guess你要的那个

[NSPredicate predicateWithFormat:@"mode = 0 AND (ALL enrollments.mode = 0)"]

UPDATE

看来 ALL 聚合不起作用。它抛出

'NSInvalidArgumentException', reason: 'Unsupported predicate (null)'

正如@yunas 注意到的。之前也注意到了这一点,例如

  • 核心数据、NSPredicate 和对多键
  • 使用聚合操作崩溃:核心数据 iOS 应用程序中的“ALL”

另一方面,ANY 聚合工作得很好。所以作为一个解决方法,可以将 ALL 替换为等效的 ANY 表达式:

[NSPredicate predicateWithFormat:@"mode = 0 AND NOT(ANY enrollments.mode != 0)"];

这确实有效(我已经测试过)!

UPDATE 2

在讨论过程中,很明显 yunas 希望显示一个表格,其中每个模式 = 0 的组一行,并在表格行中显示该模式 = 0 的组的所有注册。

第一个解决方案(可能是更好的):首先用上面给出的方法找到所有允许的组。对于每一行(在cellForRowAtIndexPath:) 过滤该组的注册情况并绘制单元格。

第二种解决方案:获取所有注册并按组对它们进行排序。这只需要一次获取请求,但结果不太适合表视图数据源。获取请求将如下所示:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Enrollment"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"mode = 0 AND group.mode = 0"];
request.predicate = predicate;
NSSortDescriptor *sort1 = [NSSortDescriptor sortDescriptorWithKey:@"group.name" ascending:YES];
NSSortDescriptor *sort2 = [NSSortDescriptor sortDescriptorWithKey:@"share" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObjects:sort1, sort2, nil];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套对象/NSSet 上的 NSPredicate 用于在 NSFetchRequest 期间过滤结果 的相关文章

  • iOS 7 NS 单线程安全合并冲突

    重新排序两行后 在单线程应用程序上保存简单的数据时遇到问题 我已经成功地简化了编码以重现错误 并且希望其他人尝试这一点时得到第二个意见 这是一次健全性检查 因为我怀疑 iOS 7 引入的核心数据问题 而这在 iOS 6 中工作正常 首先 启
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 核心数据在没有明显原因的情况下恢复到之前的状态

    基于 Core Data 的 iOS 应用程序的一些客户报告称 他们偶尔会丢失数据 这些报告非常奇怪 这就是我想询问您对此的看法的原因 客户报告说 当他们在一段时间 几分钟 几小时或第二天 后重新打开应用程序时 他们的一些数据会丢失就像底层
  • C# 或 Windows 相当于 OS X 的 Core Data?

    我迟到了 现在才开始在 OS X Cocoa 中使用 Core Data 它令人难以置信 并且确实改变了我看待事物的方式 C 或现代 Windows 框架中是否有等效的技术 即拥有可免费保存 数据管理 删除 搜索的托管数据类型 还想知道Li
  • 过滤数组以获取唯一字段值

    我知道有很多方法可以过滤数组中的唯一值 但是如何过滤数组中具有给定字段的唯一值的对象呢 例如我有 obj1 obj2 obj3 其中每个对象具有以下形式 firstName lastName 如何过滤数组以最终得到一个最终数组 其中所有对象
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • Swift:在 Core Data 中存储自定义类的数组

    我是核心数据新手 但对于我的一个新项目 我想将我的数据保存到核心数据 我想创建一个 Reptile 类 其中包含几个自定义类数组 如果没有核心数据 我会得到这样的东西 import Foundation import UIKit class
  • 优化构建中通用函数的 Core Data Swift 转换失败

    我们有一个具有相当广泛的核心数据模型的应用程序 其中有许多用 Objective C 实现的自定义子类 但越来越多的用 Swift 编写的应用程序也使用这些子类 值得一提的是 我们使用 Xcode 7 3 1 针对 iOS 9 3 进行构建
  • Javascript:如何过滤对象数组并对结果求和

    我有一个对象数组 var example a 1 b 2 c 3 a 4 b 5 c 6 a 7 b 8 c 9 我正在尝试添加所有不对应的值c 我已经设法用 console log test filter x gt x c gt 3 过滤
  • 如何使用 Restkit 0.20.0 创建/发布新的托管对象到服务器?

    我很难找到创建新托管对象 设置其值以及使用 Restkit 保存到服务器的文档或示例 我有一篇 NSManagedObject 帖子 interface Post NSManagedObject property nonatomic ret
  • 何时以及为何使用多个 NSManagedObjectContext?

    基本上 我在我的应用程序中只使用了一个 moc 但我认为在某些情况下我应该使用多个 NSManagedObjectContext 什么时候应该使用多个 NSManagedObjectContext 我听说在某些情况下我应该使用 3 moc
  • SwiftUI:如何更新由一组静态数据驱动的列表并从另一组动态数据中提取一些信息?

    我什至不确定标题问题是否有意义 不管怎样 请继续阅读 编辑 交叉链接到苹果开发者论坛 https developer apple com forums thread 663208 编辑 这是源代码 http git morpheu5 net
  • Twitter Bootstrap 行过滤器/搜索框

    我无法找到有关如何为 Twitter Bootstrap 创建简单搜索查询或行过滤器的教程 我已经尝试了很多 我不确定是否我做错了什么或者插件与 Bootstrap 不兼容 如果可以的话请帮忙 我试过了 document ready fun
  • “after_filter”如何/何时工作/运行?

    我正在使用 Ruby on Rails 3 1 我想知道 对于表现原因 无论是否after filter渲染视图文件后运行 也就是说 当用户访问我的应用程序 URL 时 他 她应该显示的相关视图文件先于渲染after filter运行或af
  • NSPersistentStoreCoordinator 线程安全吗?

    我正在开发一个使用 Core Data 的 iPhone 应用程序 该应用程序调用 Web 服务 解析生成的 XML 文件 然后在我的应用程序中创建或修改 Core Data 对象 我已经处理了 Web 服务调用并异步解析 但我一直将解析后
  • get-childItem 的新 -file 参数是像 -filter 一样快还是像 -include 一样慢?

    EDIT希望在这里澄清我的复杂和误导性问题 基于我错误的假设 file 接受输入 感谢您纠正我并指出这只是一个开关参数 我的示例中的输入实际上传递给 path 听起来这可能是搜索多种文件类型最快的纯 powershell 方式 因为 fil
  • CoreData 获取属性的不同值

    我正在尝试设置我的NSFetchRequest核心数据以检索实体中特定属性的唯一值 IE 具有以下信息的实体 name rate factor John 3 2 4 Betty 5 5 7 Betty 2 1 2 Betty 3 1 2 E
  • Scipy max_filter 太疯狂了

    我对 scipy 的 Maximum filter 函数有一个小问题 但没有得到解决方案 我有三个不同的 numpy 数组 a np array 152 nan 30 nan nan nan nan nan nan nan nan nan
  • 如何过滤视图两列 OR 而不是 AND?

    在 Google 表格中 我想过滤查看结果 以便仅显示 D 列和 或 E 列中带有 x 的行 如果我过滤以显示其中包含 x 的列 则它将仅显示 D 列和 E 列中包含 x 的行 我如何让它做 和 或 操作 当我单击列中的过滤器按钮时 它只会
  • 如何创建一个多重过滤函数来过滤掉多个属性?

    我有一个要过滤的对象数组 name Apple age 24 model Android status Under development name Roboto age 24 model Apple status Running 我需要使

随机推荐