我有两个实体: Dictionary 和 DictionaryItems
“字典”与“字典项”实体具有称为“术语”的一对多关系
即 Dictionary = 英语 DictionaryItems = Cabbage, Babble, Green, Bus
我有两个表,第一个显示了我的 Dictionary 对象列表,即:
英语 西班牙语 克林贡语
在触摸其中一个之后,它会推送一个新表,该表应该显示该字典中包含的所有项目。
然而,我的 NSPredicate 似乎是问题所在,因为第二个表中没有显示任何内容。
我使用了一个询问 SQL 数据库后端的 Mac 应用程序,我可以确认所有条目都在那里,并且关系似乎连接正确......但是没有返回任何内容,这似乎是 NSPredicate 的错。
这就是我所拥有的:
NSEntityDescription * entity = [NSEntityDescription entityForName:@"DictionaryItems" inManagedObjectContext:self.managedObjectContext];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"dictionary == %@", self.myDictionaryManagedObject];
[fetchRequest setPredicate:predicate];
其中“self.myDictionaryObject”是一个包含从第一个表中选择的“字典”托管对象的属性。此对象有效且正确。