我试图在coreData中执行对实体的获取。该实体与另一实体具有一对一的关系。我想只获取第一个实体中与第二个实体中的特定项目有关系的项目。我正在尝试这个我知道不正确的谓词:
let fetchRequest: NSFetchRequest<ItemA> = NSFetchRequest(entityName: "ItemA")
fetchRequest.predicate = NSPredicate(format: "itemA.itemB.itemBId == %d", Int(itemB.itemBId))
答案 0 :(得分:1)
目前您正在使用itemA.itemB.itemBId
,这里您正在使用itemA的新实体,因为您不需要提供其名称,因为此谓词将应用于itemA
实体,因此您要么只能使用itemB.itemBId
内部谓词,或者你可以使用SELF.itemB.itemBId
(我不确定SELF或self,显然你可以查找它。)
所以我认为你可以得到itemA
类型的项目,其关系itemB
的ID为itemBId
,如下所示:
let fetchRequest: NSFetchRequest<ItemA> = NSFetchRequest(entityName: "ItemA")
fetchRequest.predicate = NSPredicate(format: "itemB.itemBId == %d", Int(itemB.itemBId))