0

我有两个实体: 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”是一个包含从第一个表中选择的“字典”托管对象的属性。此对象有效且正确。

4

2 回答 2

1

这是修复:

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"ANY SELF.dictionary = %@", self.myDictionaryObject];

知道是谓词!!

于 2013-10-21T13:31:42.150 回答
0

在您的问题中,您说这些实体是DictionaryTerms. 但是,您正在创建一个NSEntityDescription名为DictionaryItems.

于 2013-10-21T11:11:13.450 回答