在Swift中添加一对多关系

KD.*_*KD. 14 xcode ios swift

我是iOS编程的新手,只需要一点帮助.我正在尝试使用核心数据并创建一个简单的插入,其中存在一对多的关系.我非常简单的核心数据结构如下所示

在此输入图像描述

现在在代码中我也创建了NSManagedObject子类,并且能够单独创建这些对象.我需要帮助的是如何创建关系.我的代码是

Xcode生成了Father.swift

class Father: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var fatherToChild: NSSet

}
Run Code Online (Sandbox Code Playgroud)

Xcode生成了Child.swift

class Child: NSManagedObject {

    @NSManaged var name: String
    @NSManaged var child_father: NSManagedObject

}
Run Code Online (Sandbox Code Playgroud)

我的添加数据方法:

    func addData(){
   var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
   var context: NSManagedObjectContext = appDel.managedObjectContext!

    var fatherEntity = NSEntityDescription.entityForName("Father", inManagedObjectContext: context)
    var newFather = Father(entity: fatherEntity, insertIntoManagedObjectContext: context)
    newFather.name = "Daddy"


    var childEntity = NSEntityDescription.entityForName("Child", inManagedObjectContext: context)
    var child1 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child1.name = "child1"
    var child2 = Child(entity: childEntity, insertIntoManagedObjectContext: context)
    child2.name = "child2"

    //How to map these 2 childs to father? Need help in code here!

    context.save(nil)

}   
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 13

你所要做的就是设置从孩子到父亲的关系:

child1.child_father = newFather
child2.child_father = newFather
Run Code Online (Sandbox Code Playgroud)

这会自动更新(反向)关系newFather.