首页 > 解决方案 > 关于许多逆过程

问题描述

我将数据存储在核心数据中作为一对多关系,其中一个是父母,许多是孩子我如何知道我是否有孩子与哪个父母相关?我知道如何从父母那里接孩子,但我想要相反的过程。这是保存数据的代码

let parent = DataController.saveParent(parentData)
let child = DataController.saveChild(ChildData) 
parent.setValue(NSSet(object: child), forKey: "childR")
try? parent.managedObjectContext?.save()

在这里我如何从孩子那里获取父母

let context = DataController.getContext()
let fetchRequest: NSFetchRequest<Parent> = Parent.fetchRequest()
let predicate = NSPredicate(format: "parentR == %@", child!)
fetchRequest.predicate = predicate
print(try! context.fetch(fetchRequest))

标签: swiftcore-data

解决方案


添加反向关系:

  • 实体Parent

    对多关系:children,目的地:Child,逆:parent

    NSManagedObject 子类中的属性:

    @NSManaged var children: Set<Child>
    
  • 实体Child

    到一个关系:parent,目的地:Parent,逆:children

    NSManagedObject 子类中的属性:

    @NSManaged var parent: Parent
    

推荐阅读