如何将关系对象分配给实体?

时间:2018-02-07 07:59:10

标签: swift core-data

如何在关系对象中修改或添加新对象后,将关系对象 [与实体有多少关系] 分配回实体?现在我正在做的是获取所有关系对象后我将它分配给 selectedQA 数组,并在修改或添加新对象后 selectedQA 我重新分配它回到了实体。我不确定这是不对的。请帮我解决一下这个。

 var selectedQA = [SurveyQA]() //Temporary array
 var survey:SurveyList //Main Entity Object

从关系中获取对象并分配给临时对象

    if let surveyQAs = survey.surveyQARelation?.allObjects as? [SurveyQA] {
       selectedQA = surveyQAs
   }

用于保存回关系对象

    survey.surveyQARelation = NSSet(array: selectedQA)

    try! coreDataManager.managedContext.save()

Survey SurveyQA

1 个答案:

答案 0 :(得分:1)

来自Core Data documentation

  

当您需要更改关系时,Core Data会为您处理对象图一致性维护,因此您只需要更改关系的一端。此功能适用于to-one,to-many和many-to-many关系。

换句话说,对于任何双向关系,仅更改关系的一侧就足够了。核心数据将负责更新另一方。