使用 swift 获取带有对象关系的谓词的核心数据



>我正在尝试对coreData中的实体执行获取。 此实体与另一个实体具有一对一的关系。 我只想获取第一个实体中与第二个实体中的特定项目相关的项目。 我正在尝试这个我知道不正确的谓词:

let fetchRequest: NSFetchRequest<ItemA> = NSFetchRequest(entityName: "ItemA")
fetchRequest.predicate = NSPredicate(format: "itemA.itemB.itemBId == %d", Int(itemB.itemBId))

目前您正在使用 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))

最新更新