我有两个实体:Dictionary 和 DictionaryItems
“词典”与“DictionaryItems”实体之间存在称为“术语”的一对多关系
即字典=英语 DictionaryItems = 卷心菜、胡言乱语、绿色、巴士
我有两个表,第一个显示我的 Dictionary 对象的列表,即:
英语 西类牙语 克林贡语
触摸其中一个后,它会推送一个新表,该表应显示该字典中包含的所有项目。
但是我的 NSPredicate 似乎是问题所在,因为第二个表中没有显示任何内容。
我使用了一个 Mac 应用程序来询问 SQL 数据库后端,我可以确认所有条目都在那里,并且关系似乎已正确连接...但是没有返回任何内容,这似乎是 NSPredicate 的错误。
这就是我所拥有的:
NSEntityDescription * entity = [NSEntityDescription entityForName:@"DictionaryItems" inManagedObjectContext:self.managedObjectContext];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"dictionary == %@", self.myDictionaryManagedObject];
[fetchRequest setPredicate:predicate];
其中“self.myDictionaryObject”是包含从第一个表中选择的“Dictionary”托管对象的属性。该对象有效且正确。
最佳答案
修复方法如下:
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"ANY SELF.dictionary = %@", self.myDictionaryObject];
知道这是谓词!!
关于iOS - NSPredicate 一对多核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492842/