ios - NSPredicate 获取核心数据

标签 ios objective-c core-data

我的 CoreData 模型中有两个链接类型。

飞行记录AHRSMessage

一个FlightRecording链接到许多AHRSMessages

我一直在获取每个录音并迭代其链接的消息:

for (rec.ahrsMessages 中的 __weak id msgObj) {

并且没有看到我想要的表演。由于我正在获取实际的记录对象而不是消息,我不相信我可以在获取时设置批量大小,因此我认为最好使用正确的谓词格式来获取消息。

假设我的飞行记录有一个 NSManagedObjectID ,是否有一种快速方法可以对我的 AHRSMessage 进行谓词查询

我已经走到了这一步,但其实还没有那么远:

NSFetchRequest *msgFetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"AHRSMessage" inManagedObjectContext:context];

然后我不确定如何处理我的谓词。我是否必须在实际字段上进行匹配,例如:

“ANY FlightRecordings = %@” 或类似的内容?

我是否必须引用 FlightRecording 中的特定字段,或者是否有办法仅匹配 ID?

最佳答案

如果“flightRecordings”是从 AHRSMessage 实体到 FlightRecording 那么这应该可以工作:

NSManagedObjectID *flightRecordingId = ...;
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"AHRSMessage"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY flightRecordings = %@", flightRecordingId];
[fetchRequest setPredicate:predicate];

"ANY flightRecordings = %@" 谓词的参数可以是一个FlightRecording 对象一个NSManagedObjectID FlightRecording 对象。

关于ios - NSPredicate 获取核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23070021/

相关文章:

iphone - 从 map View 中获取 DetailView 中的 xml 数据(Iphone IOS)

iPhone:如何在 Tabbar 应用程序中的多个 View Controller 之间传递数据

iOS - 在 Debug模式下连接 Xcode 的后台模式

macos - 滚动时 NSTableView 非常滞后

ios - 如何将泛型类型指定为变量?

ios - iOS mask 图层和添加子图层之间的区别

ios - 使用 OCMock 意外崩溃,在 NSString 上模拟 'mutableCopy'

objective-c - 如何更改 Iphone sdk 中 UIButton 标题的 alpha 值?

iphone - 关于核心数据中实体索引的问题

ios - Weirdcore 数据 react - 未检测 NSManagedObject 子类